200000
56820 139670
292218886 841134386 275775501 294524817 436954312 990574642 685048159 953268314 394122850 736537220 561472317 292198740 298291521 263691877 748075160 250924989 217115795 102825624 455475193 609737439 455159588 364879902 106673071 517199055 426835381 906939994 402922553 840987434 870903614 206881547 766440654 982470315 605107043 440266730 991666939 607047110 293052981 257700220 722493132 631950143 873699227 481656941 572320698 389144415 947423322 274279178 819850235 279993455 314605733 713337322 457954686 993674797 392407870 737653253 720601887 964493217 842027284 612165136 955083480 115550018 356908091 738386576 802803417 237751510 974290768 200848125 623065927 868316719 382018175 168984363 358045570 718851755 532950002 432267959 238612283 106252033 344646358 402138130 408101113 466494898 644680059 324845420 195754847 144635056 750935671 532870424 891059916 669432024 855856178 125594131 893536060 429911658 545901686 773609648 805311540 581725182 201125571 122408682 639492779 620208166 680221236 473947439 867347210 217821530 682360081 482429014 832780630 144112632 683022201 381174081 717627544 996921829 287930518 732322840 365486844 497076102 842727089 599304727 668526295 136047620 105713656 775602058 294806978 975549742 413024872 517037886 705933594 742584744 857861122 704457017 855501573 736782451 145020213 441412640 370503560 319003746 140022401 609255427 479412911 836866881 323232328 513786448 102865907 691143541 678546124 853460474 433987575 757322888 533102355 186408835 177628464 389991082 570300189 435765864 867120059 111588109 203778032 280359546 428497237 931770480 409926400 607651245 839018658 835192087 975976495 198066285 423168353 544116734 994628271 486662561 938292562 581107810 757766376 900855311 766501662 377299326 421777321 160031506 257634106 331888968 888123687 226075558 401377333 833189917 484606726 595731310 929371584 811637213 640135555 111764545 960276924 879987923 718784803 117500062 244414970 392120648 627520753 248763177 323649362 497741855 731325421 714808701 264808466 277800480 471854064 393590626 299044222 660430957 889044021 102994992 273193629 399110714 448142791 989736853 188762154 314626439 797633195 627172146 824606383 489929585 655628151 872692603 297888843 317048991 228640938 495440889 506849477 129075375 437595635 913507515 538495580 252137102 188849914 777652990 308821966 287550811 619298252 863431087 632549297 452108951 179591083 889226609 108651872 797656065 222878780 484496480 326919432 252421339 672720868 458110363 935746645 684968357 960369559 145800372 347594982 483829895 131966423 828268538 941592431 219963863 529430567 687293688 742176972 869432888 181554051 347584164 826228859 790001060 687237023 153865898 378614378 376195380 784574373 962807762 429395426 384540520 735118822 550562753 351105477 691093318 688663871 975306901 941008550 848477545 285478043 965966314 474229919 637724700 528388109 539256476 251987036 799970817 837529421 574808998 939540305 205473404 933276087 659656011 158521294 152617383 382867873 991421042 379723391 630667238 519623052 507745597 326254286 235979498 934025530 658861093 202870256 405790019 886860469 699407617 194751523 987164876 555413996 729460382 407363320 625444633 647574529 752656183 311296902 579370004 402411754 770754686 185385500 266138321 381094034 958855456 951283839 586632009 839297197 638306766 310111867 163210425 384341822 836196183 681465621 179514552 927569643 897298289 559057715 331629596 724851994 281098724 193686528 366420799 750254088 925675135 145658593 514460923 301090560 472720795 261804843 888455701 830349547 402335877 704166947 127008498 622813613 467725919 895350443 778224139 912302460 507987675 104226237 785271566 181254991 559463740 207392799 159187876 216793973 537353077 483744357 981128417 195134612 763809672 960856655 640059678 313706714 573459816 902193985 281628454 397596141 543897997 237648238 304873380 810616955 271599138 960345828 693994154 748263280 659624672 939164723 620024816 786209116 424863779 676894119 476368343 412915360 399807973 887774505 716515708 910770275 796656759 273917091 654138028 656988033 562869086 476965857 984242477 709150882 782321478 919989714 921842753 191946416 472116180 640755139 378070920 163160772 867654103 802151912 768743857 391365991 469362383 924078497 559773643 114844090 232053346 107691789 701272669 559384060 180471076 867973410 845148526 451623497 929267425 343232074 367339125 286309242 866989423 615512362 490786435 937367675 322785470 728220215 694777954 613210386 911343437 553165314 425984146 301216637 704804049 833038955 571666042 181637123 812203739 464138129 121309330 412287143 694466988 146742576 188331750 224940294 665779953 486886108 982735593 632143684 531266756 272276376 370691132 946976655 154553235 691593206 750311787 848387826 343504744 631474666 142029810 802879912 987151915 549021052 250148856 508072669 541701594 237693328 451906155 857474476 769692851 262454793 137402062 427151951 998525935 759925731 715629277 561304445 164691955 272673390 314432342 874690123 616285523 704393095 165757680 398044495 283507875 307829301 953338644 351435957 894325111 347218795 121510056 168500793 488758408 419331299 447933386 964384654 450878075 127876993 680521313 241716659 350118105 998301715 277678110 867463360 772612439 866073628 443563223 665123794 439974621 567636608 825606322 944973087 143985741 737030413 691134212 647254304 724373910 999339818 192361999 729155837 668530652 290471600 702457726 961417224 933676110 312956159 572218775 888885003 348413563 167610403 896888961 740938045 104982713 971025658 744599218 445468459 427875453 558918454 383630715 238802277 504717855 941046939 978180179 836716932 936296732 228735194 135291859 359431879 794608474 849820401 562222379 485538097 132521083 914021669 260674912 610998255 364339014 758716009 994407309 166146821 701350225 491196900 552657524 956685001 968512999 547985569 466983980 566835975 611254960 675311388 961551481 765477683 715589812 365174555 288950040 402540816 598486876 763858602 629415444 494074927 472685409 697735783 329606908 184106476 198702311 225955172 683675566 119858064 517858442 472626932 228048001 695357443 721030306 326027946 763636660 813864028 475331506 547622670 519948217 776293068 978484760 863289387 928692079 302048512 569797969 622259456 595136858 119970860 319575329 926177465 700957914 642843193 497579058 175283346 295813316 966475009 332278440 829944250 753854988 568989237 667215586 799037607 854615330 953383513 549929772 951694910 283118433 452950234 820445529 753273202 696294665 240966296 724985113 299518390 193091732 790582697 435951655 632591235 730227599 328179298 408851297 779047422 709117694 191583423 524308629 104869728 385655604 383123873 162125806 882310438 799758725 981961054 283607644 705044802 261129771 743195116 729383855 766985605 274724136 287468647 789363316 835397120 365334608 343313640 407712710 822480547 876153505 440076477 935852941 639625566 423375149 385832580 732717264 806549843 328938780 813151857 782711431 550517479 486167577 346459316 146497593 410181366 988214417 118085996 594739344 764646453 933362601 590957278 716689001 505979897 489655099 672142219 447552614 966216566 473648102 572629524 318692679 294862396 749528565 663475566 828862227 305212693 533353822 621027294 750105206 977721126 266307855 272178031 629855886 655429058 477394193 610436681 431193096 327089961 901113642 748584813 695217965 820206389 667843995 478252891 977642563 166264471 870461998 774368194 246119570 717407763 867850921 116397450 579327320 770867990 937927471 887728915 342536322 640457188 358374071 476318332 656630723 757054467 452945523 467488132 863170988 499529275 212559326 720865819 764863188 185633868 407063517 665676872 578478768 362777259 349243471 208905901 100513401 230886867 914400100 524890303 158939335 218231997 688043871 486297751 598103750 241929552 855178709 684197774 155469508 791984090 352661688 679611370 544446560 768002928 226801203 565485659 687508545 252199469 922867850 563313340 907955562 202413841 905594616 121515419 470065365 766024033 466208142 816766933 609914965 380646399 335734340 618745154 649553195 509834491 174655897 355303487 299305883 316042250 361019360 903146777 653067730 888722513 320348657 356617099 593691964 107311362 291466007 256569829 172087119 459289965 528318538 901763209 370151885 247446651 987921425 904327165 930085131 956830904 379780799 724848732 841617293 993539676 102307009 804716195 724644482 705653577 499500038 116262138 471105542 926666495 733108844 661890475 613144169 837034645 601030382 145935020 321831903 351158825 445791654 101713019 443166710 562105192 370047381 210971987 922344903 267578947 975391314 868861504 234161635 365902314 580425057 754214866 509923154 642779111 131591886 288935128 502792442 754260466 735009882 721646532 973694716 588379071 961049386 736268235 302404005 124959492 561755179 452218236 682139977 763731564 165712372 987676608 135511082 962705919 610626175 904714608 365895856 194551102 569353859 834185476 506912033 222053499 758344798 825754519 294124861 698893478 604753410 825161600 645539122 856752234 244208132 425935334 436600690 415114625 523083073 561987542 271279680 930439160 481378940 318994720 352573073 612605117 206422078 596096926 172342016 684358594 926870400 265008262 850846854 477650769 528768411 312231620 774981436 107018495 751546963 604372202 619775977 838637559 872040000 452510506 922635049 106706233 858107123 416401628 569195985 352554601 762259685 624519509 251241379 772480985 978232491 450810137 205161095 527716457 958207011 817613722 217904701 324493974 212515493 784730075 854794818 423973826 159232019 593149835 140055733 977281914 608850093 761980793 139012353 128064922 714138450 303484838 131416680 637043108 554409406 414782849 888935981 341313717 848761850 999977610 195375568 741892337 498782719 507005672 980132893 703227350 999775723 975589665 812853832 923642494 860887258 784774721 517825999 857444034 441739815 483992711 385775868 638291547 906925150 760849841 197828780 669842526 655631821 658801965 129577649 366216461 572138079 208518250 134246530 968356665 835592639 551248460 450083043 853545822 379703171 251402075 451852664 685113356 331206364 189085992 409819528 599741952 671130937 471842280 179127399 153215548 608516172 380825996 106559344 879808882 166008819 249172540 845870036 627787711 234562519 659732947 740174312 190342821 441867020 858554609 936952900 242151358 578638206 385493204 541400735 654705053 936984078 301409855 568443171 992431799 546681274 227604004 730825621 499319736 626575146 326502675 766178021 800245390 171425681 745818865 457530684 138154924 622376193 154828861 984302944 840433743 450769748 398884019 473129018 798468828 763919691 453469053 692904863 673932496 810906827 158442345 165727521 382671961 252440249 996042291 386700155 719282651 100008197 550000222 227292878 182953317 852490603 295863085 575551597 506979600 548957129 695655067 407026583 105948280 393654925 280603118 272952393 888627626 102878647 700061462 298514887 951459798 837873142 658783618 915001035 330068938 660313344 570678914 600107030 492517173 870132015 673642487 419502778 364562533 487769700 209250198 871583192 273697958 606520316 546752822 821397280 929799815 809705170 589414852 180667935 671088795 471877639 345242327 749080210 242423240 100583065 516363981 595123977 333743057 148821383 829202382 782956905 853938347 175071016 376517109 972850038 489114882 997245005 189120408 179967740 238985743 209462274 306866073 604182866 979777025 922066429 212647471 438374057 594633275 568808639 342221718 949919674 436211650 863183649 262749926 840656954 515859224 372541511 852686932 929610494 291485949 535284328 930761634 832284362 351245331 588394364 357499604 307566339 515337789 569489105 769270905 229308599 698291570 504902480 789119488 520241526 871304578 513469133 461225664 321169091 285863964 936016053 528249893 621906060 505343068 356434054 210985363 350737552 329775960 939600806 166192383 979446520 550966937 696427717 564756440 689787320 823962348 613622706 637035137 242534841 670196407 684552191 390752650 388792794 509654249 816267413 920863743 923312646 966544176 704644787 935434787 441804027 548914851 729222896 288135817 575642596 196742304 975356569 670247248 666426623 524330942 350133783 696501081 447366255 545208292 141321129 766207170 340032736 940100841 862802901 705048624 759664738 114410321 515171133 221510604 735273023 526255018 805020611 867761651 328193139 550893983 370319511 547037013 886021979 590050164 391515139 270390565 490633081 549338792 295209505 511277543 679308792 985384236 388940789 586742229 612616632 938106140 424874267 665392708 622064461 313395403 354255982 439652308 800833748 895957888 514667470 527471302 270128083 685135510 520088293 465900714 783641909 726292587 800721999 763041461 353971187 439799035 965924765 674444554 966002539 586726941 470112460 933817288 256807376 284931910 652122815 588133025 463952998 609177461 961417102 945229584 994394352 300616146 903995512 309664190 647902607 346685132 869553859 911964462 462466311 263218360 741572834 101643291 403137498 559297304 529997176 875189743 675258617 138762717 506714335 963388233 264641304 873248765 466010985 671288302 305254049 600081108 924584192 286886874 528480706 896341076 706379436 948548453 363015450 948678929 116993527 443951241 960009872 431915939 855845717 536036503 174251938 401427211 578775849 428160174 346509247 617293223 803653521 410825430 608431053 963154240 776164714 338038776 809829428 833375911 386804714 599878893 583510049 553932362 268102486 597524945 797240408 913238578 314062362 163391287 510437895 144285656 274768739 792483599 957139216 182738798 722312825 255871308 825640224 505696928 204572485 353444809 624328842 439833694 784091385 550051671 927788667 863210897 373712278 316308545 562331527 848126013 120131969 759149409 140423405 489188232 265880429 734729364 568421533 198151091 272022592 850768098 117843670 707531455 294078554 111978467 360822924 410315969 726211240 757098797 882873993 883913531 565500777 859125066 596218987 390396396 966099200 320299966 322838683 293040392 460277869 355365292 668972302 450007413 714273864 730095968 250958666 391182979 494691961 540027001 181810442 233321060 619308480 275796878 966581290 990015323 560250534 326128597 894431337 106771424 958797415 102729992 207318086 188011807 110654335 392783939 845774935 370263681 149431028 524378933 224644385 746755129 671103315 962399445 990884195 950834323 407638225 356482250 702501314 617299891 483806049 303243518 234562171 570185361 415347081 564830860 959594304 614190571 563365902 930273939 193608030 793625906 317114800 395661004 848039213 558226154 513039680 678607252 487835510 945940829 758609254 710982602 328164130 338618007 586577319 876073743 205962801 963835940 402210383 481117025 413888512 599520718 113122005 265126674 431472945 990959610 712060073 795511060 512024854 443135962 477711106 197373399 240308323 754083676 688420570 170045740 164851123 592352570 355075906 937999258 872775171 708779659 379824269 338793867 930190295 455100566 867203677 232722376 799884725 522132424 262015114 543923760 547325963 594323237 274371493 377582145 536806607 671477919 885520994 316763213 401735361 640109038 881760135 346998649 944141271 365166891 369644285 238352360 773222402 611332898 999552872 224290816 494600749 599220805 801217406 800872679 931584892 909892672 120120675 207090063 272869457 635346748 286916827 247588678 378194629 936383497 408412449 838870768 123464063 523372606 635612402 654297851 807584136 682508572 473581272 607114557 910910896 267609002 514584806 458675510 786726243 992838965 247966472 871971855 912719330 495931983 477798177 851152849 159294666 829233396 823654501 313033915 224461964 554200770 302218650 706505836 841470320 873824148 395524278 633264632 739082121 777870511 394420925 293377421 533957806 319050218 716808681 100548812 862739960 217393724 890221938 274005550 832478224 705081179 949881765 791165314 567345890 579585693 923578818 638546262 935635943 569690893 592636080 301246327 216103262 378701355 587096181 676747327 593366352 844702552 845406542 460485375 584296109 484158222 254566142 906448051 476588150 696172059 453394138 799361965 602681549 155997836 575066149 103601271 888104482 777201024 877945756 199006960 235773898 780111800 197824918 836893000 710025732 389597708 268828587 790978820 962148266 280850769 249447846 534002053 889528783 211909708 773479096 692359772 624958825 540096791 834579453 163824723 484691170 984565111 775468389 136929485 312056981 894880924 566623035 525275306 361224290 285407589 745736554 910189692 278428111 299011012 674780940 910464358 225512066 835808678 457250600 444081286 474960548 750439436 451673625 254421401 471914674 711363469 456100711 148378123 314217637 580072650 855703310 565530033 930990911 324606642 448607194 403399199 742885965 809788656 525109475 592379277 828696427 556742299 583978720 145557491 679211313 886077481 898422549 159459989 452882794 479458387 637460669 448676941 296263931 543368769 505207353 596765000 217517304 346196903 748233946 428388865 667126783 711570761 461105358 559012914 777411339 326901411 423604956 646882203 512569482 912422589 650272945 611405904 973839232 136941334 425818479 213687378 810961712 134171045 460346185 381204453 741648891 858150921 440591034 900235126 501526677 744820252 693640422 825508911 188391453 556284910 485958996 308637188 405986654 122053300 847355859 438790293 271843099 682037129 146543997 257741814 262194047 962596093 642583488 195782506 446633533 339943635 953569052 386909429 909925581 584656190 246833668 862141285 261563645 664422097 568042590 105681861 475881218 247048285 994795310 737559533 511023759 782962558 371664121 617099003 431447915 439870625 915040638 816493762 552517671 170464877 169841949 574368307 610504036 904226298 664129178 583430003 754822607 704584841 685565258 680610536 543492843 488802064 413987244 354199735 959364917 487579814 372725588 641309970 342568835 594796112 344460348 445826361 672101277 684294972 887351149 160541540 391112975 893467901 464560656 951910035 807266970 954401936 966904852 910107215 529304915 946091210 332758856 453326601 686508453 386645151 932946833 209849826 823828314 180270661 812662508 327630239 847589550 500586893 397159197 142140893 344241490 387426490 336054229 131925155 960275185 955604363 422465250 538639079 682837206 144854323 405280730 604798144 570487116 141968927 865306227 989302375 903571347 322258967 718278617 976017568 167502691 216368991 194300262 915957648 493459930 417211736 264052341 130272173 324185310 959638905 890390061 645041466 877641773 746846134 928552085 497553598 914634120 784275341 548041847 155486535 807406562 139470570 672662495 270236380 723108594 207010702 100598781 305246211 311156895 515861147 130736106 805364777 974683155 435081019 760114150 387849972 473035890 370952175 645838070 677619139 537165331 610451615 445266139 846786417 315615296 586685611 743772307 969145565 223828528 730746522 366668069 957775665 407893485 721007087 626521985 633471338 237232083 483501798 228913753 762358553 241814738 594331042 817819570 831810996 520409677 421306981 479879831 713862982 468945072 728555476 145264878 214841233 959751394 450232167 432454233 167655374 354511087 498453271 801843856 603503513 388915889 717441729 136230511 288948002 152979673 976687717 174021025 525467751 125322642 503120474 392838880 348131975 921098685 884706610 413983549 388401832 377148667 638657694 302224594 159629821 640478777 661030884 963943900 710680493 419350524 771196336 666008725 629276804 813408117 491245118 747209433 335468944 893015055 769427866 915570225 536233927 772382340 341196846 251624135 118844941 542206183 585447189 520399523 427638560 221973485 329825314 119995281 504875746 479364709 485910883 634225070 881931717 413686416 938236479 812391866 875281840 503620760 315506151 731153837 350422114 582241929 948428717 785195857 908790388 426921656 761881899 292160105 659292660 134041202 288083140 907756187 559366166 298208968 631347319 736679905 279797379 179476172 327195552 383082378 784215981 343838656 448824813 444786959 722121739 348886652 611083372 413630632 553739130 516711628 107618672 900251513 532537332 838883815 656938254 604187085 801662179 704505715 205316871 980841499 224808223 372134356 960851086 755765611 897552925 952291227 187557205 474493664 514389777 984850552 961507859 493955033 712926094 623887170 168449595 132821286 439657864 392129733 295793652 815202642 714456086 513148482 383234340 665643824 139336014 553076120 271269340 672659151 228122428 524004905 122142069 708485399 793665212 115418075 313965568 135149176 151196282 857661096 867231266 789413792 674200959 666082649 350916712 471160684 956609654 147533457 206459555 392640653 688150427 388451900 218874765 233857844 734905110 809504839 811508272 220741287 781505196 989139540 290069303 157046712 574859773 447744309 517517146 415007238 558676101 215691575 639260119 905702084 219118538 837531921 372265513 581334325 229526748 359626174 353562481 594160909 857802676 859283712 932492316 125151669 999294318 194555954 498345606 548164559 596223491 691221810 427551425 383902919 831177863 405701434 836432674 219980549 446425824 801036324 693895767 893137986 742548673 175311088 716657503 279649554 913039401 496233465 144489824 266484090 992381456 949751084 871213877 196271601 257165748 171916073 622808753 192459563 576292758 102579976 599502549 539366239 189928776 986574301 296904416 298929155 923361047 439375354 891852125 495514756 104320108 380993602 332017204 685930746 154641090 416742022 479359738 137829114 942343958 199176195 494127228 389649226 960982314 609723392 775571325 369023516 652534702 674508007 341019990 726306094 355757307 153504120 235926967 294407158 636099128 132502539 131316537 282625552 193194157 768811511 831945810 856342260 812229952 582493866 928612684 699744296 841257259 662400976 152125583 604937874 950155845 365034217 346402352 977635475 995973868 288825791 689024077 360861391 952309839 933449289 144534575 805083185 977071157 682252733 572546505 184395819 894772004 722965844 607099469 924846811 944902628 908890602 448342040 320043992 831722402 696954860 282878575 907231291 895106673 323235664 665684575 201293163 286837232 299966286 522705492 135566851 725376981 465504247 161352724 172264792 740265543 852797319 828055665 663572889 507857618 396221584 397172569 176969816 663167958 275500381 594901359 472115163 871580444 444129141 680199637 384107308 550385130 658502055 153210502 472665403 933141008 146746661 484222864 333626830 603522134 683563480 475134781 165845213 457621573 740623880 383813909 775403803 995289939 246196917 518383391 618708721 850950062 473461585 441037410 920518198 702636334 937409904 852071269 932769173 749656728 485266643 389972497 957410757 401578835 470562175 673423906 614695295 401707486 607091858 130588908 755009940 530577046 824026765 874316992 113672950 548135314 929774163 717793945 449870936 641445776 684515205 207874059 418474222 922942010 350168380 921615269 657372046 573862548 472426913 493520645 471750593 375078446 122075549 394481067 666149311 146834875 641239252 409560203 460288620 578445952 792743125 504440124 909050641 423085358 815021485 726850728 885286317 548431049 934016287 160046341 370239207 281982492 272345208 313564669 490549643 496458096 999838290 643754846 968868237 161059263 609919585 745305994 947151985 978257234 378745857 436093084 251570082 420044979 813361462 199369536 100175091 303808335 924409342 412231372 552688543 176537802 908707575 104214613 201165854 485515430 782587507 958525492 438662708 890583983 951072596 407123920 876461785 337993594 402905257 921266557 992370176 376151695 434307448 758928000 736447013 734262821 164416851 378494027 770138609 803246780 780130618 327668381 260166805 199955210 739561719 553486480 261610816 843600518 842747190 984270975 939882168 774822158 830014607 361799832 932100943 847658851 688199218 865490711 781810074 321092193 735235983 871398271 539643480 640805757 659404417 204449638 551283205 978972426 594435841 451501765 393175925 423895127 420551115 585226893 470973197 671352777 443407073 815862543 347986428 745598508 254422317 975490712 442082318 340430671 658107681 926300016 114062331 710631622 932737784 676764669 812317762 588246004 965684928 198439081 600679953 699476223 995802280 557254067 671499482 678176782 924966039 984443645 831085327 839986809 878647897 453465697 117112340 910051193 868975848 310368120 567461631 995042651 563827930 873205706 521761666 795802286 738194041 327371763 715854958 346026012 500228924 954789964 936501099 724914731 949594720 903742078 812849245 372718530 692639796 418703961 742864560 924701766 278551774 570752575 306578718 384250259 562141922 468725347 392254523 394702162 672187206 480323106 205872221 742791016 276721618 256292471 776485535 879446403 787745563 369655379 444123080 491170622 440955798 462521642 991452223 652447652 632963262 668879213 122837138 782303197 425843253 671877431 268033668 351705734 344223646 797835937 185560096 453854093 959175281 560044722 328828429 435849028 766047277 110964490 755217052 534701757 720521008 767108199 305971950 105111005 930334395 783766719 627971990 619654431 660639018 999068217 295907482 677665487 139708874 238222339 486065520 665369027 865607488 931697378 846549475 500430622 160801210 238037765 232876092 468591877 277320387 620464036 469665402 745374852 423878305 735751206 126359561 328526126 479251001 681386849 841341073 293142388 565779046 172354551 700892088 419333177 771175437 480795483 783571552 148552563 586728538 619474402 353067980 323974841 631963016 879710849 999547866 712820065 259637492 316491134 824171688 203230017 939824866 785890638 405293363 855525896 483570552 103707367 242477090 285862382 174109341 240126302 664523662 469899670 238264150 588130593 654917293 583674633 660180266 127266039 405671441 407768320 321939018 317026448 599832264 739978910 532088238 928213452 857807761 573380719 710315025 493539454 880783687 503053176 360199102 540428421 177024509 623239263 916785044 446568514 987717613 926655454 309305000 236960261 406765876 910005672 678568493 791616305 787248111 680148456 659955340 271713629 461248755 820798258 730372762 816664461 704559349 368782000 984477757 417798899 356986878 217724235 292106715 135720202 367601370 288670933 439663686 979419262 564226916 487848657 956090825 844922293 394513271 510259702 611159507 658109968 350661417 133006910 421408795 469085197 638109352 794653066 713899882 844327641 595784064 284098997 357946615 729718020 817541338 259688408 663565479 868663492 566382117 328585814 311332366 176054531 991905285 201033219 117299655 829144323 510297591 749899079 412915402 749710921 718226379 642643354 973873281 650074159 602766548 601809997 388755140 782522402 328510338 383604814 239719823 336984173 881090014 793582959 239966750 518854534 345608259 597697900 493724118 485942885 262033624 498345573 103087850 221507154 822184457 533401373 784971749 365197855 714562520 278076608 290786429 742890270 642216106 438146160 583977727 165339729 497810946 406621188 750989234 836414161 390692236 842802174 290356976 839235310 424073171 728702949 125723105 189523126 413941401 846275771 469450987 850175175 942764743 937767538 892792946 664805592 744335828 368953184 601800792 108604352 766790604 106574545 627342627 967418351 559518042 435923513 835456424 638235749 109395683 550939686 367957307 129286792 452806651 618427510 977662910 661575962 837664786 148478059 553114416 138257385 398569003 896178350 924930188 996648397 804012313 640898696 888958156 969391539 873071075 555393300 303228523 376766283 584460154 406821656 931913289 525997372 210861652 602414672 240202159 924032019 549520774 512988667 717554445 113884079 794177111 508862038 109367136 634580152 755817904 713184904 848805349 218129985 821829164 332660362 885240380 284907053 794954009 536447345 177306484 185169757 490739725 668170706 889600200 601236610 151479807 870476432 629530051 335023206 575212692 985393526 454827550 815880486 328507180 950736351 354253298 586689715 632255850 169452330 436711985 222928173 903235566 751290331 455179463 648273664 439598584 135453253 690173702 779302172 311366416 118079924 420573814 517912422 127714009 844378572 242540320 976765160 914843948 168712227 636489873 679136138 293518272 403993715 534891934 266914317 452622990 999381722 220212603 383782540 235345424 488435497 332508168 248127022 651078489 519924428 278545248 420046406 903804704 756387366 879569438 869273806 368576724 407543660 548701040 877205117 701938198 313774627 513185836 433327873 565516657 139141162 803541089 472580723 152215709 869908117 818318971 748975508 935480213 539145775 409664321 552883184 560231996 414491552 154693512 237417122 792928529 346200803 611505265 620547479 270511519 440326820 967908913 530496494 466879065 554739715 706683342 900107910 898964059 661020530 564074814 157631951 446355106 886186659 413578065 266461308 257376735 835428791 996999849 782501180 657355505 287697105 385781109 975198566 656044080 179963821 777891589 353526312 104326510 708646144 907051953 641060809 740399520 313682838 845473519 497489705 563660484 927112446 301369296 666527416 741768504 111712632 628009127 487276788 459781070 950531528 844231859 425926247 219418909 886827894 533637980 742923251 533947618 247839749 759435348 687867682 857694516 716444534 653417636 898210131 923042167 530848439 336991470 437002539 502152528 479359357 198782375 132927345 791145220 936088653 153993463 834145843 897055662 663599376 737876839 921744804 253949467 661818446 871700651 596435517 449282021 235036974 456559531 362636676 591145649 165812874 861498465 653478175 976919287 584552466 431974329 842355212 506234288 533793352 578105764 263905627 682177330 489719332 314405381 978914819 146373310 504856100 297751470 549109750 414152033 591262995 949460215 222420814 172682393 925573854 653543296 183223130 539309349 239573550 736224385 548667094 421442874 380879989 466168112 552243806 703506713 412403883 608532142 768678166 531300386 352020963 533346594 127274559 644176036 555525404 481548230 287139927 989163443 704042461 781009094 501915654 233209922 952101303 570531874 577462766 714096435 758432622 881733777 479159813 113680794 573707453 572348938 262130543 723027151 986759973 830693553 279860540 737046831 276919827 111276060 213096953 992195445 158420913 187352464 403499252 731177973 451103317 780417934 288002573 545288330 700842903 520785516 577634217 982593741 328239210 107623780 884722119 289499050 286329924 230530566 947768222 608091585 619294217 986241423 387852217 522068858 213413394 271030772 400902253 979198238 814002167 536071120 554724997 878149899 926132415 968353209 117151495 525576615 331347146 582053324 209497686 700131077 566880463 830399720 403631804 960816828 690247994 884331751 365461775 154474659 886659972 537493772 141746439 394672461 392405991 897509886 450257702 225806355 282615108 697360884 392796920 829382787 547136115 122589188 364553454 900633534 706044171 659118772 562724592 681023998 447397022 461127887 865749527 135609624 128059864 500018653 427712727 374161992 482871290 632652585 951582940 309622088 680708942 202884141 500731923 262394612 102487077 691583371 863587127 138975487 140516549 430733146 359310052 341097232 904178379 780987280 903232553 450740068 617787567 385229901 624192313 506151286 589633633 144627451 721637883 949822385 406930625 971975676 280212691 630639973 934487635 628288061 983419187 901040134 763370616 263269811 370551229 200902470 860608521 969255499 848612128 772703738 827967056 618103130 910952403 643874538 536620490 725871306 312016385 524626525 476460617 293452994 497474769 242206469 128868891 525379254 473921980 268360244 141142057 508975120 872621282 105949499 611016186 164605747 466318188 255944572 238595492 999510835 796400142 590634665 277682756 151812294 442139434 830394073 276267811 209063465 707556590 566644754 294912729 222279498 609718523 864220300 689003261 110163931 506544056 223091280 332275531 285593518 521725114 918208936 750620523 273240891 351987669 818031155 149062909 775499900 862300001 924241123 944145772 843316699 323065633 850602125 878576642 662772875 422590696 257230169 840640193 455334992 361093835 707467877 964404977 370045309 176722739 557046097 477467987 836777279 116174100 765065156 398342509 890611089 103467248 269329348 798286954 700956289 974307498 651518580 305519829 645406953 937676439 589328307 431513126 989437836 431122180 712208355 806184530 775656627 510643207 648568780 637067104 410382860 358945468 291297964 617408447 717683222 721714936 669998930 907592245 749678975 375210706 194585058 118924707 994969197 632846920 460089543 844414172 767040716 417841196 327331684 876815638 160882776 207414138 324419141 805045579 515841364 874006701 671710844 689698542 278624913 845585715 206855349 117270178 556072072 314391733 896322973 863885267 120662889 137354353 444110913 532549295 990173932 564200959 603506704 333226102 845488277 317122898 914030924 640295181 732048277 563534424 646432963 424454473 528305899 414951032 300589478 105794913 840847580 695187100 813265360 209245698 549035821 668483332 274354197 985725052 203009815 109188402 400138930 695722985 429405171 989514010 254690365 226203929 700096576 935908750 618011781 387471780 741594465 858692857 899802980 329895707 770989290 518329739 572240642 188031265 615039943 120373888 841996633 625031116 730485766 504772646 570250219 240474545 692473428 235763156 277720527 780120164 759840361 131335137 406816011 981615464 992124412 719870308 461897293 859060431 631163048 592037376 768181072 396301501 600799771 872549310 465782096 584233066 158112867 299139856 624784141 696874942 258972793 356927977 325342205 203537313 372729657 823846912 930934262 303268431 438635936 515199122 129331800 265486685 127828454 359914624 524892973 919124613 714906420 919596464 131347055 121003974 944903893 729603493 253790321 683037117 977937182 165349762 226694368 264246923 599658077 932098839 320854695 187270758 440701008 752943675 557222396 396376521 632902144 708373377 780396527 314917657 650518101 218802721 231526014 462706208 599147904 817510172 649453629 431462637 922288228 666454830 132734736 437582323 995273326 818385946 165036167 482540354 570176262 448665663 787819600 298992642 375997166 354387990 507319424 506415769 844221803 225575933 325918764 359366642 510058099 788423601 654243111 173712312 648217416 703912631 732189803 294968614 422471283 260903279 482006974 545919875 947981215 425654724 477914631 827249956 357253644 911621874 654567282 413300510 852182122 414122912 149466747 902768776 230572237 327005795 560561393 102476764 876412686 275566499 475195730 221534954 800176301 218870388 329374038 917873360 180509895 142516950 764297742 880225081 713978958 573824957 848618342 221292195 148155635 244305398 207879801 281971907 573032982 539379391 553526991 948095132 583032368 358717084 274892915 937386563 854301006 316490401 168640867 237031771 168434007 843376736 431376689 419364660 431585703 936468607 636612726 924315668 939317084 223445889 855757172 160646454 857872976 315390784 697657846 230515808 881272601 230142183 385851961 471386292 317839528 243314165 361060219 438782473 599490387 334341500 403741152 203784475 952004948 578219537 906674897 133341788 692830910 196638932 971283073 584320066 778933340 817859250 762740823 737310779 692599549 439968119 820477151 730277799 244129028 592272497 204734767 681958896 298582749 368111142 704840756 948222292 964348752 268839543 130087810 520711250 583486349 422703301 551358248 696510489 516023406 328416986 903551042 276349188 365761601 485086583 898911323 131726696 724223027 447541395 477023250 485102582 105757968 920278346 210098971 683901363 628299782 434297438 518217552 363651481 123509331 276963526 724924961 358221618 587199911 164582111 703731861 510348696 617684356 606606374 462943101 787926237 311946856 909277888 325792988 150856605 813323329 195808585 954082513 567701077 257165043 632061797 442582221 266729026 760531562 897241018 974043125 842789766 140595110 392609419 770303975 257964963 696403614 451452871 269920622 558797890 603065453 768792874 531735182 840335458 746029381 439385827 505077286 728532045 972810731 384559364 782257751 108252597 869474177 872224321 837966503 821845325 445177177 909872522 272015465 375150395 842372764 799719303 636053967 255043753 272805192 921027111 409721197 896733127 960961523 841437964 398411310 872727959 334833792 665786629 887060581 426091681 756478807 330562807 957480064 881847574 407337205 195466132 425477092 133684230 348217470 714981640 582572969 563416622 415881774 353454277 534463775 245011911 440317902 131657971 321295913 492728518 452501185 473478667 700452329 605778525 111634072 511456260 817470616 462243132 730722155 659910049 627299919 202451294 938794849 567230077 622014760 450726117 485543510 922492069 568698340 546531798 481059012 209095998 719291739 708132032 373226881 703234528 453868585 881154123 251361350 173827198 705356880 714981642 955947593 864403561 533479923 661934853 304481318 841160248 959872804 641256273 952143000 381581907 732229957 505338786 208363488 379503940 213994888 199891642 876875192 221524380 159784072 743997256 504262183 263253377 485613629 808725538 894355187 378673170 547061495 845910941 716480379 911053831 137514323 935302566 146625085 705345811 376288510 756601100 758462682 498509087 914115992 706015382 157515839 362086884 544641688 847562093 291904959 295658883 383256789 294596691 405546108 877199154 209044583 950326641 692851854 601271567 962648812 474096467 637937940 466714723 554218949 543051880 236177799 194330254 758716706 316059346 786940304 504891252 114078124 104293564 197312882 549444665 646200950 479527792 611090225 229899775 358295326 885418686 816413119 528536058 561274446 877039320 608076300 152901085 517394296 771289640 988580055 152932736 332623623 125463292 694923791 965170590 787743412 849648244 701446668 575456068 807373725 616373518 719864367 885479328 186446896 181385864 219810285 942351214 976572679 811568612 775243595 339736028 166913697 816143818 927439866 828300238 261652397 632939061 658785131 571283427 884879120 879456704 457514037 601674858 854382413 596861123 803484807 688547577 958887901 529108550 755909363 168797540 656365549 199069956 300746071 712810378 959626555 333934718 702494226 586332555 718100398 260334731 223987561 275488053 359071296 489084753 579514416 804149322 224585520 103631716 265312629 775535699 656586017 126039259 169631074 104096009 468179581 845175399 995082002 977681091 807232553 247120864 154224022 916474936 483155194 436299218 553714797 443679413 475608126 301249772 297851423 168622487 901965803 509929073 264358949 984281031 306346283 289253447 344811196 582131435 314974271 413486714 154954038 199012479 661815503 605210257 156755935 413208486 433197948 402967328 918373706 890914419 156402350 715333372 849459219 385799831 139371690 680432712 605494561 641011508 546786458 293495696 599049826 978228465 723330789 165111876 183952491 888748411 461340888 263571474 155897054 162055960 622693150 852908715 437230381 585413733 673986269 458633493 456477824 929763371 778837732 633075716 165078203 817938912 183079121 870066895 493341467 138768910 476354321 242143822 482894315 894154345 109392399 535043442 578835580 629854597 432722982 705637923 218531449 488890617 550838685 869121680 123638844 837803478 553018204 948017493 488321649 586331660 487691675 928893009 315831123 768897667 512764892 418672218 955898624 902372080 189718747 648569404 399990876 165555970 271298136 734238172 533003772 486341038 747230507 574646277 912381199 841147879 769736686 786866257 631281096 828230437 690125677 865366711 469535821 661924542 996250356 884736936 507402108 634934082 744201131 253131268 854616941 673475391 464889212 688769987 237391878 869215996 934880889 621608431 565950090 211266871 327984052 668286186 758711809 836216585 162864370 809386444 271614379 995680304 984964061 776998437 193616104 538311087 733885054 472815485 234288042 498523550 132415303 709120068 143712833 988456274 774390696 755736659 901280953 966362816 770975335 582289650 143733593 786494504 999710923 359211273 503651633 363410929 498717383 756190841 690431940 250928787 998322474 449107921 680640108 151593908 739292838 604983480 298559918 757179538 673840758 306329114 800512237 548698920 581204905 840923742 390503663 160796954 690118568 581040773 311944145 250250822 539029865 249606976 554151095 985777557 600793867 431958084 799098116 354972223 958270377 391372699 947609988 419705307 964020992 474488976 772462833 583348976 747071404 155116762 460480426 799873845 874581551 186115312 227576814 238727973 258206725 196065348 379154966 240195976 689549038 545295353 841259712 917290795 174099295 404175752 186087152 729300025 222986736 179753934 500716815 705760882 807591269 245654347 200733536 606757364 242370672 568900991 698665301 124772322 290953528 847518902 687481419 662911419 663794184 735356465 498378213 363736592 517058197 256006196 302966444 726890453 589615370 750064463 468001031 860506911 225629342 519768969 796347956 469545146 864370084 206886642 842913984 964642996 645468629 309734871 473927000 543753719 803602367 389300951 312119998 559652685 589500757 488920176 377208630 350208207 728175195 173827721 970099763 806429758 427807848 881622701 584912801 893054974 255027402 520206364 296940536 962153511 224229646 474413968 759994455 914085140 574561959 805155049 150099608 228383387 763278066 999413481 101578968 360331023 515509676 760106793 372361508 627658692 230955419 505090509 955492130 183425402 514932059 330972589 498479510 273073470 773703031 345880906 815804433 217703211 707050786 578107098 244480804 400444083 510104828 990649817 791271769 544454095 952751049 761647293 136181254 301351329 143810964 396790212 962658052 290463365 985263759 658739123 727194892 562129986 846701457 941224749 623726632 197620309 423765337 213908592 815733477 453312681 458644333 254220284 911151959 203988784 586640477 132061500 991730860 878242360 740726009 774779142 764286724 743005112 166982872 702071983 664774338 180614254 988971959 763899949 533510073 189077059 326139788 180126041 590903645 796820917 886124823 959869922 582443200 936844328 127020765 288028416 877609346 750294781 721349620 856271689 270283469 202140093 662017417 971840175 121666907 256911066 473141761 894732151 528555155 342805163 647232270 863235451 567723736 162561871 229022492 641650609 200042231 239146415 658998026 776124760 788628271 264909900 445506164 735551564 967421577 860684963 393070215 332562469 815796777 374236595 308782052 946936054 825421835 697667987 749638997 129529285 513296035 462915961 911561892 240651858 630505167 422671964 314306121 410383651 666155464 382256603 767754096 350637219 743892525 769134258 103070766 502927444 248192464 364655710 728886165 885552265 685982333 274366534 501780473 185125342 920282108 402394719 360844103 655593825 395419841 334273172 545736725 828977422 599019840 647663858 156340801 487632551 694422215 883479565 474118393 303920476 884691802 971210516 609584591 759534459 101110841 341059930 537907967 926356938 350240626 673953858 194810871 783188925 415592044 422472257 405500842 634885014 232369746 829993166 316656853 832811765 290269351 801704483 405024170 377657374 791649408 877384513 199233324 774911322 413783547 314478867 613642094 917475891 560159368 230861647 685326773 441619930 219235206 621819704 563895881 283267665 818162685 812440077 247465341 166559104 390931419 468268966 467417280 423294828 482146756 788729469 129998646 834547108 984141559 300130510 752929516 670369725 314327198 916652299 601848104 650377055 679121685 622684823 292429796 127132760 706580225 254296255 625404708 722309628 237727720 200724807 386334377 932207796 737209639 879730345 279489334 702117944 634974918 915347260 408168105 482252306 703536440 568985978 482895285 792176851 297487112 226041651 265029739 556667309 823235560 675628737 769946879 968789733 970461929 139153840 596779403 375238262 442808221 752053085 565840988 678320571 626399870 513149770 541829677 568278580 204506104 661715678 795684893 896555854 123649855 360203287 891116524 779776106 896998530 552707856 562276913 135860510 335573648 244785800 526955231 265515375 456546376 231190809 144340952 614534569 179426893 385977634 743221443 922400897 142449415 616861795 321123625 477419038 605383905 718911847 623459066 275697872 663668251 745118512 183373258 335938128 564211252 727075662 163961071 825590890 932992830 374772978 413901941 316099056 517082852 147377207 854534533 242070897 796665016 933462940 459266636 841727002 108984919 855773066 975324189 483760673 218105393 383573127 137865371 725255270 718482337 596826178 156010820 828387069 574542924 950575058 226763271 622818241 767588664 999947524 859832495 331974477 880077185 747705870 338418535 879048775 116101304 671879358 297890266 492922458 139660220 216054156 702636567 309786758 999861084 397326929 903235641 299637057 145681252 992317942 791254764 312898925 382986166 223910940 406777030 707233609 617279917 901825244 791303348 440568430 824482848 322503885 288926502 911134025 494098720 571096499 144839642 548921601 865204603 494339726 935971440 688743674 337027815 371667586 538459957 649055794 469067377 793883238 684187963 405126760 195125863 263562941 706617830 837307681 395498824 848985946 460820951 584377230 741868208 508019090 996164190 495875106 847865739 754571010 414464542 562840736 157559787 660620691 669911297 812638166 783453143 329592930 506261812 205603429 530617868 281642733 981366322 877444084 441274367 275530941 346591937 574385582 279598616 591538018 628327909 439900339 668657126 907932476 291857561 652915567 371803962 186786553 165639991 820299246 288989376 889549567 884937618 815997359 890841401 744638989 666467205 703331190 346525475 633086626 929957343 488183363 760272507 598975361 719751949 435402409 412576978 101044019 464682964 780887015 249356710 501816172 147126301 689895106 665250107 580991198 509979689 760791262 123834786 724035376 338860964 835657153 941902417 938672576 524438959 796069998 522591157 360643130 898736567 511786099 115916643 365629976 951291080 896847043 456490562 950318543 714463603 877754015 817544008 204295605 763210919 639802734 641648132 605959086 226492225 739882187 445354794 324699522 170898876 102890921 284086501 266475278 472724189 524558878 618748490 758952875 371941401 375241136 543586025 632926629 482272945 897862473 601661150 195945776 474776878 955310426 862060437 993390110 551315524 850131619 746065511 870715971 378190581 180327461 236714950 461097888 542683906 858386082 412898136 879211822 574868948 343664250 332812668 530540347 208966785 656630371 473687312 758020788 191311996 435534963 191115326 983303655 921103142 214655103 436897730 128288606 839037020 961755852 173948775 691155136 110303106 496732919 377451543 746100003 535602227 334080073 975866039 319097137 354923018 904842786 322082224 169591651 112735223 492223519 917068053 996914065 905436283 864910336 533624904 116966826 432721075 427134459 791952384 847561387 461274289 585512212 471614293 917340564 958252912 424059395 192375068 900155866 779060790 191812628 638366948 143710332 902802871 721423524 551129932 428398100 164840370 619522726 779754904 839498070 230732194 205558099 113064787 319479136 863206895 978208161 518205053 128928422 880263506 398555957 944359818 215648911 652340553 652157491 618496350 333059229 776310761 454981005 131777832 647448721 184746435 750469840 967575236 649155171 532025329 449205135 464137600 196002667 172665290 441147319 504539764 429215669 949789805 401240579 794162532 579830759 528756708 622736375 777949932 765747102 962968611 418911535 811936662 423692263 395151278 679249544 561842131 293426042 909732176 816354215 916009321 892944959 461478603 786129329 159878313 764721251 233444823 782704626 337009214 996250707 360354955 205674770 547857691 155461003 523773886 646269402 432383239 652511462 146319556 783938594 723590740 486286912 875678489 821280351 801317188 796937840 963802253 599050614 702962131 735053206 953770947 467357877 890027936 150162150 274810537 138427893 868090185 315077386 968278899 889494511 803434015 239416069 427204048 333370970 135957877 513849931 512672339 694212291 681150040 568764066 532520980 182509545 214884809 118638613 453204955 435385849 215307460 832805096 524707503 972493515 176504610 345205833 628098162 670722405 552322754 178411703 951560796 188433138 169862016 689606562 906406500 262164102 643617559 849085142 797411397 805086783 542092186 427682062 659763847 493076658 663982074 397313541 838822952 696687578 492323933 957923790 358733415 714765903 153092678 920567771 584162997 278517991 363281208 122692831 373936636 418492985 814277999 474080314 818659131 284152133 960316664 998508641 143052042 817611768 468328031 376496119 694471402 729924338 556885681 487637912 782279863 433244682 694463186 445726612 116066988 270848615 170634775 370630735 392006211 946143211 492367423 909335887 961675162 661142592 962777971 318053108 148593215 522788285 440384790 819801301 320157183 951166378 746038128 737640973 170399547 959304373 949259671 636031863 129712909 419236125 823281182 370295040 535054591 969715608 331187699 857017978 316077480 278886071 480525189 736609873 733158349 848300547 832281845 803299669 383267862 252450600 844385888 985107274 653615185 640361121 993233724 727265709 567342342 604145398 789235730 918631835 740773649 714176171 537105487 341314039 623985867 183284984 746822062 851459099 424771124 518888008 413276126 292081637 706182481 795198154 403648851 457616622 990912608 715953881 142621144 900241526 438887069 827548625 381506994 543275529 561519675 297483051 384141440 487219365 351065126 385399776 661821297 885250680 310712504 278964406 555167198 934039243 225670210 653014750 510438533 979036200 532524031 855189653 473058423 491794380 684435275 206914963 326794682 363728461 948217134 736480277 951597247 406561402 888527763 549961557 743495469 186866851 481834054 652488522 341128049 322688799 498088310 424865098 809354768 353659055 623974858 675759134 292613803 844931903 388548049 395638521 592517672 838969232 906410136 720302872 462250514 452036726 213063438 329453951 487266298 954362234 558212100 738796286 455592332 154455365 573518508 887432555 475130166 717128568 825154639 907839532 683881516 466519527 955873085 365036763 190749489 427955132 842748397 351797261 683719633 845842599 951075403 808868078 163038770 330487918 387544417 605799362 265463274 386622133 456575760 104375117 826722030 313276733 645675995 628315319 652316951 136345560 376905083 996476611 141637323 761296185 791596116 706418831 575434397 552585453 507840779 119850854 814299764 281888846 554340454 840017645 117800432 239694654 547958821 469175578 738496339 996367283 370453688 391081902 607351283 836820669 514485065 790975486 890434275 764338735 910303176 866471188 770235501 691036821 313778492 672306422 783348952 296057444 357735602 566856779 269686495 785163088 965946256 275558478 825534529 394609320 249304760 296561263 982019896 892900512 975055238 396830295 512538182 333855551 390033389 880652724 106832371 386139832 674862665 479591831 368686409 732169356 311150674 522674959 209134729 705949520 402926574 499260068 465408848 876318173 818565129 832152479 945982622 896491388 999835197 711999992 413675393 800182904 171525168 304243017 488801560 755532013 402572594 943318921 313166597 948993105 435721660 899415875 523394978 599417735 276531203 734347964 900338622 778981813 376849822 242248560 483921104 513790488 190911074 746470157 921916675 754781319 250752057 906901986 818651764 260237790 237204717 931020563 785594752 582253203 498243765 795303170 329803822 130113425 506974306 530492525 424513593 923626407 536177950 283825484 665574422 842187738 704881620 684048432 494820221 892392176 712938405 951884686 783740760 344009887 154264905 144280758 828940788 424286400 430630581 332285556 629322336 262676278 123605810 735481883 786268881 656509888 106445279 839531112 113846144 399955785 346196407 622063005 621156729 183821503 631194570 296969560 613199788 489547947 509874690 997023414 671750150 644666154 921034634 716689265 527044846 119023238 200361900 602325588 319569129 980027902 139248336 514432991 467352488 319661600 647141770 809628831 558264668 942463367 656437997 659130090 363523419 601879559 436918455 365405075 651112571 405937068 906774442 278254026 819734419 440520579 849906882 178257689 741841910 888317074 156845795 365422807 686583579 624319229 529701807 653470491 900315069 961867282 285041208 121066241 737708038 869462694 260386646 249630828 460390837 971526036 289537498 581163117 702356200 683919518 396408446 445676395 776010962 316059878 586447260 956108839 955379871 554363189 745112913 721350182 997676880 368057436 825758070 687876592 285182147 942288383 610790766 244350401 104573242 727819350 648038548 676115699 119376269 413797386 999602079 477697566 720949418 102179966 604336666 275025705 428896549 170359669 916761860 804734203 879224587 123242252 380619635 905836080 520684383 315426673 930094470 616910905 220221674 778413415 557944147 149222875 749827953 486653016 759103829 588551519 658249411 659134464 888166088 702582388 706877758 750954918 299245349 654767720 368730573 288145890 341192654 562152939 866271620 993448856 391199557 751440974 375874424 685188465 806607615 792207551 613330477 300388983 265813403 380083192 858710329 779982890 669350840 915309141 893451459 410683476 432068837 397958317 811084610 944299213 592205673 958940459 709767560 759891457 260132898 306269482 707220633 262528908 884863003 769792890 133634479 711517292 765798311 991472192 395346879 403885539 846150882 728415935 444398447 685752484 607014307 922885958 349981581 303070561 890364623 900757363 726374074 721946150 168969821 569962126 331001366 696462225 864245532 708365480 920136313 609292142 689461325 227022052 730149395 762549829 796287833 499249454 555373966 867479729 291024302 152692697 194752549 228519477 234046459 345038492 519525855 902734055 672232023 811582782 568891046 227990783 291919679 168645824 954012852 908272852 180449291 793195707 269930572 176970286 130377492 407464862 774127945 669961494 808883167 332231771 422763060 885872307 496198191 604093091 619745575 678235635 676971831 935122735 522515079 273614565 896635154 471119907 227252963 859833146 195389861 280909852 706937933 335997908 206376225 516215031 219350352 491667439 162045526 978655803 637201143 213619876 156688474 506151307 594205170 498694483 421692299 877519173 214601344 832710500 501204723 921173841 535376545 652461799 181650307 745276646 121315618 448216219 273386019 105414173 964750372 627945562 911254638 950734497 341704984 417407692 755207940 924948664 622294706 971751013 648493335 663436860 619623621 711373348 322935731 187526035 779383553 375481082 776331566 940083937 790863264 946232365 987624584 344148753 984514635 211832779 958912054 854614942 597163280 126457716 101924363 519975962 563394259 721467289 928368281 901501345 789872764 793533942 555508397 727628566 757521029 365673464 589178382 545306904 987076937 729899906 964975653 475063136 676967023 419951268 109894535 526388328 321922064 814056230 988788339 830910757 993428777 333627651 487826694 852112477 633508081 395294485 376424571 267834027 272231506 489266712 671486682 729295801 112337443 221678572 358192810 340662543 702432674 462072994 586990419 814359314 531996610 931898431 324001696 428400980 191710216 352163729 426005029 720748217 245597820 314789875 868582891 449198027 586483583 577709402 137608443 569759751 987098954 576600482 703168082 760216471 814200081 883345345 799079452 294502653 446645369 158155646 545542111 843482958 208505713 462090723 224553588 650458379 187681960 281595012 516514415 359766254 311533375 473849341 610023977 365852124 231175089 156380081 508665533 566547045 537512226 543126731 663340926 602933977 817222259 465285957 694237242 125000125 675353093 427301526 286479331 167629840 732313738 976101368 715147960 243825297 304752582 640740599 655030760 386235023 688364033 385278556 847881538 990229946 821645341 436133935 576660637 718762633 477222530 480389191 818061564 631956649 302934385 567552222 179767319 301873984 680357231 159081566 276531716 215334631 667314461 387745663 832490805 466699092 199827519 322639688 793380684 275777708 684006418 756902034 303495069 786635091 619709903 835541581 753214812 889016725 210477021 752180592 467803136 896555871 179817543 641432051 848296393 109655577 913939184 607944621 697725740 143902898 179617383 147808941 268784817 133212261 463421356 396643832 449949901 299140056 914987900 701812737 210371929 171195339 450576013 959257958 293035267 380615747 761791640 386318553 819515601 173952235 582701313 398661468 705511796 104360236 228087696 245201633 480484645 172034491 793956623 893068611 907655404 424553638 901247021 831619496 299919111 474146681 824326888 966924325 340135706 383356574 688012606 813194988 607346827 950438966 646065595 340101932 956641575 420912334 275645289 413050541 894731455 216269762 816696219 317508942 635969774 105854656 374713553 737522506 777315244 245757128 626502702 674310234 617933369 279015626 487646793 819881514 905844175 902272418 670995529 927164863 407390643 920090829 646556080 230894044 239048386 980592578 700959421 212183017 608156516 972673960 398190940 748088618 362229646 398794993 143062039 620518802 418154249 135760284 138880493 514557885 146456866 640370180 293607410 309595484 762818006 438757553 924745678 190506350 679532978 684930772 709856912 841882455 737362133 754223859 729783729 404181325 385376124 139414437 197948709 308632990 116276781 628285372 741611648 371979983 580498893 536676535 776095219 879456574 540622667 471541323 566267236 104452712 108466881 323507630 967620834 499457002 488457806 682444104 485933349 715623087 690705000 462010347 171774848 240084833 539540933 525659471 688833841 665586044 384832445 949216848 329374668 953675438 341001345 338641902 212234479 922882099 766862574 632816168 483442685 151994102 305600100 209465202 747544673 343414812 410595953 627368945 969045751 767122507 434468745 873530961 248802690 708838459 538280287 845231939 147615940 871138671 934465152 396998856 190984684 771061325 128308623 116379901 393129362 898131336 494391926 275643402 212663957 422252047 817875349 321107871 718301924 855892036 360037908 817652464 815971035 649670234 276046041 909651014 212223630 262384402 841276487 739521042 492684716 237015942 151034806 161499792 673338711 972856455 208979030 479987196 111575525 660406119 838651291 377951693 134174892 431592368 693743248 910764418 489756292 540168845 862768062 249786144 534818588 613964168 295624941 134268625 491780510 917297565 636802768 990571991 274435207 925010686 777437022 147919821 611838272 579502461 127611401 376246973 706272769 254905933 495749222 652773461 111108835 193124851 926841771 541987791 354816155 960288520 608348447 428700936 862265768 601241371 353997511 121533681 227696968 680964694 939135637 179863507 632205832 324309164 126707907 241721290 548897381 592122732 232606969 962983048 253695522 865896742 445760660 802283898 244333838 690580633 617255597 616902662 739891745 801915262 868907539 953179217 458121378 392795802 698773761 771437831 440202110 596427612 148609411 716365122 540564042 669147954 999736459 299754406 290139300 105628406 240181524 531668958 337547432 354994111 180918909 365109705 705685550 601150126 824062100 669640638 266625072 299760411 730383335 505335968 170570103 393648497 276373965 332743029 353189604 634581365 369006043 977884884 316422193 857920613 292552894 244554670 257531045 876358248 588427172 235654856 706417897 886683861 373442847 627912934 533886777 185832966 386394781 732403881 940091941 221187566 149716477 383262639 316974226 381769368 560797209 200284348 710557166 973763765 997613079 880903282 167172420 577264027 861912976 600402994 402986890 714782207 563361193 152842323 924377459 498769639 771483066 298702951 906090940 821085515 153385560 833248729 818043372 135668231 877112871 244143872 964444863 269959544 857742788 520017420 263185904 208473878 431609820 529162419 833365091 977095274 410426995 766382456 724929004 982645080 513768269 280118059 279414617 294195061 183459841 823858425 619156022 601238297 877175781 708516171 325207933 994848428 808169204 749733218 162123987 866514118 472752892 909639286 450831635 264302761 388617421 601039527 259999013 666757025 675247369 861188191 562416762 757387331 699336209 759904398 480075616 332810218 812482057 206463371 532868349 551107142 716727252 343171294 810983358 374987276 644909051 634022599 264070034 867899100 275237392 119638126 324173551 317158712 687057867 489175951 587114535 333861734 749241689 659743537 527743603 249338443 673009029 893997725 332922944 644487383 919069833 700800406 362066716 561455572 454027462 161094683 580043053 419882906 161699509 117362711 898071058 966494624 959857605 231412676 126738347 754615489 309515863 177070217 991411402 752704796 630941897 487195169 391869466 821527847 416324248 411037661 507511097 865849943 296402736 843211325 914475877 992396886 799395116 284768887 230506641 191646023 496840839 436722048 382593424 565281159 462824813 982539780 513811531 469304065 139332709 381040789 340258985 434410887 889053015 767591385 376568315 877653663 258389691 452658897 105139209 214121253 612474188 373593479 768904326 716179538 858671342 214775793 976057772 414332658 152422162 331307178 433443828 577932891 946166393 487260143 457376519 125143892 813761122 745994559 976077066 494377333 148393303 340924031 859668635 941136800 258518969 932412776 815002662 671550368 238120901 590879932 435569192 275403870 611107984 730573518 771443012 701574505 200696546 749962476 886125894 158695815 332067014 482262850 340027130 623155692 346761877 420294019 582540299 784680959 946122075 885853065 867316410 365358169 124993317 674681445 488322686 116306176 979414258 481096486 519151740 136093958 131309913 616591871 330204175 708060592 847045305 900271847 491242088 956144355 118187233 268993165 646222250 574024597 165416843 795631624 273187606 806664254 532041682 138267068 701209032 165655843 281244990 918724182 276066605 495159924 535128235 129093257 477141859 643064435 411175527 855968251 817533622 304892934 871037417 726620684 461159462 483303596 330755154 976361420 508029616 842416868 363407762 365262165 605430558 661656490 437705983 667415499 519032655 753448413 222541469 408537744 369457525 883194523 448783641 318276931 374771386 216907410 262304565 582996684 308885643 941298377 425329543 625775700 661903256 200192012 779069301 300626743 922958815 342388995 751164455 744654776 466327834 104174458 725071072 315634594 793537047 691080208 514818259 514906352 700615196 634818901 292160242 188643679 270411343 148589474 403973526 588747818 719030478 948081400 203020133 747254194 879923113 759344691 140855620 902805819 700757042 375999814 547685910 504421538 186254890 106018245 841056999 788471823 243066472 700415154 545613996 168488049 119286228 691756411 280590954 124910165 592011110 706891902 811569959 360680556 988963977 784222842 477246621 429261374 994019193 964099831 300801695 602857655 701982178 426836354 889115610 792351889 501559631 377946972 884379004 881370518 192789474 920844405 623696512 390230350 116551023 161220808 355347094 747021973 782961975 136272583 713950711 207183779 583924365 243467038 921014832 593796034 514708571 203861923 167059339 303407856 821901790 996211371 309111294 661738005 418423130 173575525 286446138 948612724 290975756 321992191 867314906 766977784 287081724 383245431 587564787 455464746 403054087 914030353 972254155 996965589 563375316 335716570 874687842 473681095 180665481 200501195 928453999 716175261 160370089 626102444 237179346 684258687 836867926 641508136 862613685 578880123 801304584 451734799 849066282 278793171 237561600 230319362 561315111 934168830 646689419 283829600 348809108 342334573 504827074 493764739 857098587 802707206 328167318 139409468 156531758 834629179 618184084 410204740 411731353 153474327 562835679 149182437 445568208 236664591 270136993 179370704 487754753 755771853 297127035 418675416 825757537 676494824 415580780 597223688 593899164 902016801 566502492 379679145 550417698 661582810 459511487 793061175 363998906 201674551 195561287 832656854 802772138 361850615 693144978 138903242 383390605 609768131 946953273 414026374 298652017 694091303 874595423 461000597 451897255 880060104 854920791 465383786 273612891 232850091 776105770 556030780 227073954 363648912 458458615 529992820 233252653 172716822 131965106 726754286 674578567 381813135 364491704 778367362 716318160 212380841 527457639 364134217 136337629 488884850 712943729 594229231 208122100 642497102 443450589 885154727 687517466 299906689 557240792 763235010 317082899 152813927 237998275 619370343 586081365 791043071 974618509 681049987 251426588 494059454 961295586 858049875 847438371 995240355 387524906 520939683 875768564 337533768 497801184 323546482 733791636 760605081 402200280 531936222 722697127 418025583 177606960 769825240 185532226 484224154 156418605 312909635 359025762 408560422 476386983 972882836 966865418 512956601 339732804 445667650 277461467 587662024 677123944 566836238 840616878 906499837 592502008 240701086 353912292 357295091 171060672 357117347 742504410 454931415 568776829 698733681 667071176 312638045 515111659 747378565 422527450 712855970 112491318 517622775 744337234 565490551 147773826 557334217 863994203 137952345 528296737 699055693 316939010 781798519 365645933 365066269 416494663 528247731 923683933 401985717 815569070 625573436 817928224 446013987 570859881 684096258 593613117 918808354 343130190 318303200 647754623 315278697 344468650 416332128 620590666 761034559 584995754 557284122 466168117 777393300 560750700 618332335 716045292 832661473 397735677 133746904 257977472 524735050 989490333 629272826 331197227 937841440 791998219 488292987 764263173 868329365 740398803 667377062 305668504 350695348 356456940 686509457 364509234 175417556 509753798 643163988 823259490 147528479 772539539 499940751 642465226 846239344 842682818 289886024 878341285 394216368 786951263 214299838 184149742 981993975 374357795 965876359 840097161 215861284 393388484 920027766 942299834 939146160 526672835 937656620 805863158 529842022 301623628 503476605 175820211 789144748 153995580 277468180 909545974 276291693 759297242 559421419 707875936 262519136 646983658 117173035 873867611 426831651 534500103 863235082 973897725 285708070 937712433 250356693 285179973 225644800 101917778 390580291 129187718 265446968 567200749 410052775 600932270 467454919 786041830 925230792 552837252 513843400 781921444 695092970 127347537 332746180 527050562 206023173 267300180 880090701 713648189 162364576 552255020 212176384 587661990 178410030 631611852 621351555 628575223 500241782 149400828 405094078 136947774 146184001 237734736 185075169 332491327 891133740 749498935 309264844 797779286 293903602 617577033 920730119 285137957 487001104 694848680 347880320 303189090 590184742 119203594 950953975 683700706 776269448 705299923 151835812 518749520 708085105 357606786 873460729 612799926 172647940 564183337 855793155 855394559 100519222 779007891 582863346 499596330 731723445 726950341 628614856 368945278 643713846 761200292 438841216 557814004 128592943 599767594 762515658 192519940 906899222 500926678 981376287 171684893 948147706 603585858 106559615 425386614 786138382 220794875 551907212 377627946 465840249 140903443 234801307 783273647 422849659 822054503 541560935 598274628 433739177 445521380 387126706 875704528 224300198 433070763 725160602 236854164 281379083 923891289 550683281 552712036 294781878 402702920 621364601 387475442 520797138 852007771 122986739 125978761 563547589 547380997 243459694 258427780 405919270 766892470 665725990 112939290 489979251 933994389 417728409 559731028 858428785 663362157 732472135 887290678 967921219 347342822 791130201 667182759 311904335 128049804 288097572 941275925 849330021 961016856 335916554 499905249 501208323 979098255 970615461 841762057 205998095 337727326 231123105 839320237 284812964 400489485 411964679 157514846 600655277 724293554 989910408 580256209 444476284 360807111 274963163 802451710 506929556 230556195 733996075 725716046 591142159 363831399 239854736 677389836 959220614 496305826 519628809 504697136 293126920 869666480 369631275 930633767 771861840 712785656 354186392 995841736 510531890 346940949 554827040 853891024 143072225 298751941 483377107 512604908 170495799 278158883 862338549 750414530 548382361 224016616 530467567 722601452 430418132 224807700 844453567 416420725 510984631 980705614 660637191 568309618 905331043 375080992 168210700 794813796 366035466 891426735 451998999 811017058 882767763 364244730 832274047 597851140 851537422 921252937 951248125 641979464 554907695 256279586 790956294 831636865 627570175 637526315 795505152 459315667 308345602 547457241 384018162 557116772 623824773 929632091 413339352 641988727 829936817 103646120 803299930 470107106 467896942 636146347 943423243 887476990 814432304 907650940 477083255 216424227 483591421 408461676 988342744 270473928 564929449 351866150 467760164 643109661 667878617 980857861 130613148 799358225 221497889 404176811 277657879 812198775 129054213 387379494 113532350 758318549 648020731 274699255 148448612 379685293 326607923 457836390 710845036 639470593 132491400 404960294 980823521 525419318 245374318 884540992 311200747 536495267 835479552 572282649 789275102 944721420 605600925 339993167 962568794 359999163 946545464 855834128 221044906 813274464 278925052 886128148 616587957 741066061 424126392 484926782 393993113 655823443 328273599 341010720 621189976 388682167 457241438 113745395 471178876 619353847 455127917 976298612 134702836 790245114 645594449 174911799 594334047 882282405 912669316 422492904 100156347 442262046 325530364 547057376 365025488 235309789 746269955 997039999 837825840 231900495 220849217 101996790 490583818 719770474 958249662 940789003 621900848 267511497 969017563 443944324 282059028 869599011 334059309 353531215 741200322 449195655 888108418 234561222 788340292 779778754 356669057 939970769 526776075 485918134 370166409 217700487 148263429 185996215 666658202 420665158 881349687 426981105 149151885 954558658 943363452 575567932 242689715 250385075 722795111 479212961 595257235 519388387 719754748 580559106 407072854 564083902 582747975 299560659 805359941 733852584 567754285 770982202 649182267 684108044 879310031 824228685 979687552 524121951 442900557 560490321 628698154 620184795 573486318 385923378 545342382 686717151 611679902 965760359 422164851 436074280 386660290 356230796 502344613 519323996 209364723 186336991 125032570 202533762 468086362 533541882 601510948 842317303 503268584 551370465 129064165 904821391 768649097 988539982 937837186 616524195 970101241 572245319 641805729 782447139 786938508 130303836 764028798 447583118 667209855 352969977 718402031 567075183 708356946 265283188 654057236 327596803 136136806 141792984 329439432 608396371 752054763 870581528 691871410 155211413 756130600 939206986 194863025 423884056 170902385 659195477 759710197 681188955 966292584 760078604 370698181 180957747 608726816 714320803 826004200 819480982 136310969 994912166 536897352 171096629 642643878 692861934 487486561 548184304 359797255 423040477 537087109 227022134 352043524 387198265 644965939 631523877 887683657 905751088 914883984 641011724 460367374 548797431 486464077 501892810 732834841 267850445 108921524 688866609 608156896 198485054 893825104 693881204 597304123 814702165 147272662 985076532 919335783 152594718 935429962 628767549 710049221 265800060 372165333 395082339 828067795 348377168 905968608 170021261 398575082 809550159 221204054 811052197 743378659 742604748 815860293 952541697 680129922 162700028 482798655 511412752 476044972 511318241 653345914 679826345 468192012 363526948 789020176 168565899 557133396 182389586 920163899 273985547 205208459 362064985 828883443 779333813 319799602 772285285 717436159 759976490 228204420 903863948 580200509 912464614 478834991 680691545 608243374 683400579 135827582 862118869 709032922 818216467 198166740 799082555 790499961 264415999 397284679 661858738 952585318 158297777 492776211 698338784 564567955 979044963 651254634 899181529 700442397 207848243 741390316 718922740 635709263 227842995 322226416 445344312 504041692 252804019 125666260 544465090 877923673 466055913 617228814 133159076 250984189 744325096 210307218 289757338 645292705 216926382 261055591 921416318 863777947 162543500 540615889 268179586 880515892 922871119 683629718 787536425 229592054 566137490 645567629 345698101 607553905 449201701 894015750 616907042 892122219 617419145 506753544 527933235 414603991 951727252 382929692 833402349 757244642 683822983 562846779 197025481 516124009 693486575 312504639 130193026 629653674 486687947 901189253 481121991 390414497 720645970 791901726 853140297 911713409 481087671 284431615 649859881 396977462 409330742 856492164 317483327 516941357 587380084 654816705 833184701 232599302 649557307 956377573 905961246 613707859 216767040 943237063 194764345 668038069 290422138 120101618 608920793 440301404 411285105 261502257 503456900 738480003 642571541 498792940 611812027 237588648 534560282 295960738 595355560 237809616 589262664 968137678 331011687 769467865 842809633 969023539 845863488 663170196 239601747 573585296 956879700 642986019 940026502 832799793 390763841 120744998 778024534 896367791 785206998 650025673 317184432 147417466 601088585 647954778 971091207 734821322 722603584 449564985 229473643 480731759 699553886 650103611 812359092 998094451 119642758 602379020 373023739 150739888 428370981 487441911 903025742 608688236 420287442 654101288 605109643 496728235 878332005 973171449 424801558 761633506 167097477 915565706 619494602 570434957 194416638 607946438 561816164 773558883 777531407 506079573 681272335 839578561 485616840 974864518 282695864 390411463 490829862 661430395 505475281 229538286 939531667 273305930 883940940 561193943 716772747 837319209 959795181 455535255 997669472 143810127 683574703 121466953 170294989 429605694 404676643 140544356 404829423 170179978 156278052 174829666 750694764 934270530 663151573 203438284 948265382 439297688 269244341 318350742 374609939 659716867 827162493 450954030 661444803 242464909 753351077 591954008 523220162 673506360 278648089 115388503 816468736 537909776 468434354 691273184 244050159 204737128 757474126 161852938 787176994 674995484 755952705 833963172 845744615 205016157 964952707 616331963 282190425 626416575 126780739 202414440 622891223 434654830 204233552 463235728 757233114 139908199 265507356 593791052 484686315 401422520 200344531 658963068 467327646 151769999 148247550 431083503 465429174 599558679 335712432 383797972 273886864 410493614 260625204 900178198 409423599 618119908 860796625 629155973 812140731 509269208 457658405 378646118 144471655 211352058 992503875 515238859 621855439 901306186 909510446 113896991 453592503 267412054 965598060 381535613 712424811 532520852 931300915 204657220 495051579 186814165 689064892 150277879 262868788 298997883 388156904 788983287 707651774 500135461 422335475 211002189 205410031 650814329 446612717 108171804 540381244 863896395 597870746 449788413 890631412 722136405 772976758 282574343 654305271 430679552 830800909 662531916 866561205 654975930 689076720 353429648 720205161 571705221 160118656 631459980 138046366 174429619 596926635 688216953 192148197 179558327 393696966 723123376 237602779 626081598 781822805 571014216 494332331 884484559 646020564 941806688 452546954 406050114 310739422 151558338 268072265 892024662 959453261 784522026 121601333 837220646 662229217 826143834 178009811 829760943 367185642 477971796 916074948 462534970 875052068 695584248 191686850 338109367 225692652 330702228 359001164 313184866 772340125 781115421 508788186 759082726 133980615 747960942 239651689 380916807 456940297 908009500 120111338 104976154 585028549 388467123 394650951 149939769 268813684 320224616 237691008 692299281 354592428 996146438 150672040 462189516 123572829 354167001 934903749 468073753 116636338 485679627 182041090 734033830 176461083 561500125 871829125 393539150 235127332 443588638 316403462 671628094 477053424 924480566 633524422 171952826 642315006 793917232 593585621 194498542 570350484 426159091 161350326 219875053 396348265 726551728 334345608 593805000 217853300 381097525 476055583 440683458 822115054 383091828 536411219 724867067 550177593 994976188 638587536 625676260 180108606 340147987 791197430 492081738 576146888 967848930 997358860 851091090 857068521 318203392 184633035 411444500 582808626 814237102 465659193 702490059 625577902 498755355 150019711 462404462 450431993 640199181 211591570 636668665 380359930 312976226 683316499 557935922 429429588 198194836 822451819 911867846 728202462 228001629 228119607 187340391 153561294 484163122 334893177 248575720 385041918 952444066 143529683 886129811 510472723 574625226 731099752 173374817 812200333 668389769 230921743 202198825 667987047 468381888 446622656 138323894 519262663 959248407 212418281 808906193 339773809 833469929 780807886 546818893 134665777 362468366 963536108 317551065 144920697 693302846 900414766 561145301 690846174 720272740 230513559 107989074 350691291 697173203 160205301 903717086 355131805 548233685 787726135 332251632 454896167 597129877 732449923 942583604 236003116 683805013 455272120 643340486 882565967 843779053 641544122 969270025 380584107 758136486 376005618 872939473 409761839 552392577 257122183 974181918 710940670 625549442 717420360 431970354 512296175 416870030 497215975 102171197 297194381 992572214 363857770 408466024 993087464 261798223 279153894 395727670 929678217 221570650 573826483 999924267 440323047 646730138 691824745 349103908 849182746 145445478 747059956 173553858 212326850 698609988 399515263 543375198 805429514 934727360 732031042 900583161 521077080 119639658 515789200 808384020 581641099 859300343 384291056 663325630 934331427 950264998 567133682 528965506 335563123 973840445 325390203 987462522 817539034 105617255 388770401 907421594 159129873 965825085 481471066 218484724 110295559 160271608 428642397 980468402 568347022 902854129 208851666 140630505 351819226 688622807 275885191 110733766 371370996 726480167 577957435 730340315 201179153 266861356 540291681 360567614 706587312 437076003 563851632 525466452 553080783 974163201 941996263 606026601 876104014 300735786 152529182 696400313 563119418 539498651 429024716 173981576 754917231 668381559 966411728 713174945 610471073 159097198 907170931 525107231 825934517 568716774 821861143 966787586 383691632 111292005 506781067 393843045 815021807 653985457 694652728 439149294 348560637 955132190 660347310 231723915 841136525 962878211 625064345 542077235 356054827 390029941 297882755 185848779 279972105 772510190 140568184 507892950 694898318 850486968 332256092 928562454 916918380 573366070 443705287 871546237 125252415 125089484 298441438 958806398 791692742 841593190 644187942 570642476 628781195 740865466 483660448 203379373 113101545 820649806 785554371 291226755 943376627 657248382 211169498 867934258 583893323 973825080 826924228 623309260 439444984 850752913 370577260 799324181 465415552 860348315 637767579 272536737 627837793 110446895 740524323 152417796 338182904 631428735 970586999 963100299 494966699 462554806 301958561 770491061 509878425 117272301 272179934 616445691 874689615 352862538 826807772 297728777 767085167 395935256 606024120 687517355 136905646 172362894 625955998 137249764 928693765 206043678 501552815 531834438 346692322 108492459 146429848 745747160 115646151 801426655 380032169 562576916 940218197 258696189 991519105 518669311 698513723 716105457 299074107 390905558 655241012 598441286 537204551 432472453 405140336 472655157 782640615 707391835 811802869 725890435 651047122 578688512 569862583 837592837 441675249 245830394 377845852 708783059 738961893 262197661 459287145 770848492 877453330 865000684 178307619 263145075 612734768 595050523 969755874 829911999 825536036 916615741 921832834 366767792 509241845 420890089 833711979 389508306 141614939 668352327 586927577 535274552 164267296 615745029 306935286 254038008 969002219 496087847 162028749 609027351 825660155 432342056 387755492 902712633 926659711 130394756 904876217 354542303 810881047 662524859 716150917 732799135 906269752 546226941 637260249 703242477 799660685 344494071 491974401 435144017 745258524 482849636 235283106 496669635 856882663 178564631 285627281 279912986 591716584 460017357 598178184 741955633 415848318 537266581 850576251 911059863 114930516 782179372 330535107 883527971 759720174 187166586 246112596 196893891 959772128 589960964 766950190 856445344 682608899 263346118 694298332 886932894 933007469 454451798 291570550 700317381 602249702 555799245 656658012 488761861 322526621 609782179 164829168 580409385 463392185 801390760 113106762 359553085 762847033 339245093 145893865 783008735 246067498 746019702 285701736 306185982 710883952 443272598 504044852 694855636 542139759 687306511 901252853 869793928 576184914 105373663 519302990 551790022 880279177 362520926 246648016 334220535 134875490 351590254 432795121 753796325 669752787 690068036 414858299 616038103 607811515 269134988 802709966 404710873 948175491 647801011 362051194 818017288 925051986 570095753 130592775 897457270 207923810 700085619 257531611 849200386 341977657 849525313 811399705 569048119 806081602 281267490 988125606 352955718 913965595 497534688 128821422 755458141 739187611 549323967 675309962 727082858 661174523 387543934 589431680 203081476 165666555 161642309 980707931 847454708 451983111 895625783 108406961 274011296 424485330 231596199 275397847 627890897 929270251 312631241 795660709 423465224 910239872 919441722 650511649 196195329 370328702 949077053 290905333 808726393 427546985 648401843 636405969 299702608 294508332 456068942 864675459 158223294 980163884 875776944 410260516 246255447 160355278 917483685 684169925 439737487 114832220 593272898 156309918 117641439 858134552 614994790 463323656 684180905 803132578 394548311 529792526 295437688 255549288 170789215 244769482 119656695 183480248 203200192 145861039 845630861 705973959 652238447 340456565 649004271 993665668 318117935 620522601 223294564 290810830 931072358 181018043 761952899 895812573 203927606 427071104 108435199 563024476 459841692 146198846 353266972 307911418 467255250 317111559 573025351 494485585 488585381 757979229 140429586 412779149 408026748 458570284 421957149 122141585 358022936 898666970 962795621 699313431 621556636 852788526 175758689 740168824 324816947 483443713 221933522 238613208 674669824 211055979 489835408 773779518 677679564 844400412 602769601 737168119 584268758 620639065 733843572 760282368 464190146 695459593 951832069 790867665 956658273 129630603 177775648 310477692 920901887 980863215 210045598 938694520 804628586 483629228 237214298 626107783 954368294 819263179 292197991 881838050 397155368 766361071 184100520 267355277 636773135 645466502 485438250 773306560 410291607 321720687 694921910 175946858 750830676 514799497 640653544 590713879 722941712 614548023 662249020 446662759 923346632 822596959 270072256 537408899 294549649 238164043 713008419 472957409 560728630 403431287 317773833 364842269 467665333 371303634 509819571 524389670 171579889 951641574 459324685 329662686 488750692 832802133 399541716 608389278 980048377 565860525 541079954 671735651 204739372 192904237 995594846 694881286 529238056 347886144 295544365 946447802 767548143 296119128 895762960 567042157 725427262 691669801 796136206 809411848 814513415 293594285 639464656 554522724 309902817 416372901 757900821 541668279 286098965 575709192 761209631 954074901 788297880 816726305 244663656 943290853 163819506 501514713 223369066 759315142 121152364 972047242 571470941 281590667 211857867 705825494 601601149 996352835 708849152 500643140 674021164 756229077 589550926 779765421 545550490 839865515 762212071 399233580 945203404 230348554 170018818 835642831 472006129 360605835 103409316 664579236 567706831 962545392 838402690 325521294 154124812 796531196 549433803 843937972 253808058 704041889 796345127 269797195 484816136 175245037 368557632 231794697 181621123 325218720 266480936 568435667 905482112 935505822 411146452 421347314 138656622 107480992 807980746 147246439 606924094 360421973 434378951 183305246 695257754 657629718 929172504 905184206 548475913 968554050 743213815 213111695 135759275 307400325 200550993 955598019 810152114 183384517 469704922 515483574 785206819 207822207 826604346 634471357 467119039 193151000 461299632 824518404 838327012 140195997 789261202 340436864 215217873 773776459 326011183 702649734 352800690 394108033 721161095 611903967 910735116 790177867 757482910 677442247 900754348 602602520 973979146 836053226 279539189 834636926 806109359 956575744 893781541 363775310 939658217 499119632 750868466 672147946 438859106 857778004 660537715 120457884 388200247 950908964 647250373 232398653 791348537 765062013 441012468 589271945 780174682 777045588 768638411 901721043 134508968 558065545 222498705 357220150 159204059 814488141 900444869 841526128 201326728 130110436 102840232 771918111 704993701 716809267 124588592 843721370 394474029 938792303 799697326 736699092 121897261 388851997 759360846 388605384 588445344 628158073 434894106 996362821 382843169 375370872 429682229 780759669 252111671 881507158 107437861 364479396 201934828 838573792 271898358 293463127 475470770 964497947 108334627 963027367 183944014 439917336 759938559 933015734 503997232 519452218 927411424 282836602 165796524 859868995 470558840 473511260 853523972 364958043 685953457 104216209 671581425 995326844 752783201 626848986 310593745 134842476 740927000 673695533 449309214 671685593 951738990 732095526 561033235 189137118 877596741 441533290 567789932 265657772 706079216 347394007 473353904 283336264 994223677 330632396 578808991 344584289 993004423 439844353 490568437 565146390 190791178 742341269 955545711 512385201 823920465 487628738 676808407 300529055 933248179 569707115 431241110 562557687 505410707 920574099 661540325 517164264 804391403 375712559 882963361 588881253 822438898 436232755 308261639 340393435 667132326 469355009 626685100 986988953 272778277 289134539 760289325 924140899 187424942 396865867 178414894 772527510 765402071 122588063 820691465 442588760 243648241 191343790 559917153 839150139 857286635 975886062 911564071 482279001 667773483 808613447 581898189 898088290 849282857 644833328 170628756 170149340 292549512 804129260 124512869 901966387 943247280 863376370 733662715 709428688 170793803 932714984 813488447 153141554 700715636 773738996 236820246 780598708 318945630 104625220 567751163 673996800 986758806 950941585 550127493 983509690 960873809 871034695 834660263 123645295 583118381 236709793 568854079 995809360 662910944 385083497 245818302 437271655 119337655 391245177 105332406 232957667 257262140 613762802 225331874 268261383 474586399 439895667 537552679 574670865 494405597 695239627 196743281 599029069 493934613 576146753 754349878 680153581 393471383 306068863 653502667 936929026 195313123 423340162 116126611 764694592 685394171 311180922 329385626 510527096 228768872 279311054 540913587 433396410 405982453 739383000 475666370 459310516 453505733 746522078 361444311 307230204 324138335 123191264 263975641 101945730 938365893 540387012 988791462 908624197 904156647 233234024 618244760 230640259 847833955 907410881 535850876 371569034 647802017 648098871 187531976 647141178 630764111 187348147 973395562 319809255 765169832 135130817 509828393 687898885 105078635 339039074 696933054 725731791 432373339 304010996 259557016 751451531 721744864 778720229 670120686 201828789 425297051 430754587 494215362 565243464 877739390 308361070 955247612 571649460 538056831 970420440 492070569 152605130 884137132 431991737 879439124 992697944 444994400 423796086 661179411 895167230 526093465 942157808 102822462 277941994 687672013 809147029 526767729 591348827 618147183 749053668 308771147 338212822 191692141 351644094 231320550 919111660 253629010 584670458 909576551 899626129 172854109 505126202 469765448 458575856 339215183 682904600 476228175 705529375 804566344 785063313 403340102 379136514 659476080 242395053 748643998 496119806 802250922 408393728 912332240 713448228 913711697 515630067 522733379 754103868 472643224 762171571 804019035 146932861 509736739 195458308 145829971 588907928 987309898 360965907 246408969 838887555 472975107 360298310 724133191 111290181 885292920 357209850 914365859 649745849 521157018 241171415 764932302 716374207 911676009 495894785 920674274 527222926 424440395 813261506 386999028 111407029 909225308 763802756 150723693 205794465 639610075 326601498 195556661 442594187 395013220 107628045 879129528 341739064 486824672 100831293 345971878 227944125 212612206 952951511 762730042 555425925 337982194 198544868 758451335 664846322 930271869 601550052 860259771 286976075 823534560 514891641 134632196 280855648 950286415 637425393 532006418 476082538 115831481 776770761 417714074 447238220 705214709 946575773 931867854 741383332 622710914 909010027 730121527 213281571 917705308 300299331 702421984 766054996 119148218 975140476 136857224 666552487 924680192 363138813 788512826 202205681 163401692 138568413 571988230 252722913 339320382 211033725 532393002 606871310 128265756 859587781 917235561 634579448 553409015 240992457 778214720 177625667 408196701 865349609 712549854 520660860 982623125 250617966 961307921 472789378 159610377 705254465 930481635 547867089 847236850 481917937 158984364 289209287 642150274 227349891 250791363 745308173 249263605 694714106 292201891 691079197 889509025 536480332 164198884 274350380 701047631 563355424 257482634 202131098 285389006 237441231 917534006 504502932 310845740 818756221 190485719 397385537 237130380 427992292 151973668 527136151 764862692 953657749 783743897 687207809 344247625 770172552 748850784 406686192 547335650 964530678 714022374 501241770 908714472 656822859 631044391 705363592 657258436 835097511 672538273 791933354 278424497 621861813 793948126 335698969 994540885 167044962 387148546 854800775 205170034 929350739 955590390 346630194 431599242 855262157 728120758 697229779 888740562 634938212 115350717 447630773 426704644 734740794 578629482 360738130 593211180 281928750 397748456 642313766 649088506 240431753 704033113 464720243 604644659 119563618 331168216 559432955 786226383 791170926 812540780 434597251 222512923 833022247 250341786 207349136 490811422 658328720 735588711 461005370 928449030 137852671 255119295 203828577 329442207 742506430 833609542 235749401 107957973 218578824 203413555 682804191 320715138 321067968 688032970 416403120 129638285 827007908 531791227 446267171 670335089 440229311 207411284 772505027 453568477 182433916 148866476 981570552 362417112 134796543 405031380 618778910 214110609 799298503 876196839 992863225 982118481 540966668 845806083 126688000 891157315 805783790 282086853 136657330 523093260 665976956 482576568 382899196 904782702 153817082 848496474 900740736 910816870 186296906 176319756 400005816 518473888 578048771 865029656 572468708 796619518 626315031 481500957 170826596 141246217 737610996 302399615 296111057 617554497 186703624 559999043 932991735 678408126 149892118 556890133 713913540 892209896 600724976 562780888 642821440 593991359 263509185 142016003 760503998 766141176 563889285 278275855 479841341 303114195 820246157 839913449 180165897 583645246 427760094 655615320 366290983 715030840 530055728 737987100 166223874 235231356 583214082 561066698 574023091 393882379 419461703 636402444 877825287 746141969 233046636 928487134 133517627 467440584 346581900 354050696 688616389 360161209 905784868 207492739 582384644 746454011 408639529 936759830 705542783 444706490 176805800 525600384 885178930 614635046 316597861 385984674 324849058 360272409 171030444 640075259 212399103 768342139 676537581 881625635 904139517 227632915 775828941 912884814 471989711 524487022 224017241 121426154 283195128 614492820 510821637 792611713 184672297 946251131 589640154 136692668 105775411 144394125 882008730 719195743 838087234 698806281 456295892 745047993 439467165 702649872 747231382 985057662 142693541 348069304 737774527 389923903 496485223 980193924 935423025 980119722 674009357 800913113 542497241 481205905 826275426 609762139 757966351 135193242 187109448 574306324 836370304 805742585 577288506 118869707 285215225 837844378 666053222 306641900 130245231 862665242 588260773 697615564 129573513 712278466 140756048 698987088 301031467 331066840 537968085 633319903 719081179 700967250 180097456 515106731 745711534 465442691 167469920 866033378 411341065 756613671 269862672 219029916 173718433 416181432 817051413 766226376 133083395 916204937 355727907 171656492 332097842 862666646 464770639 880355053 463558955 578668012 933009724 115939152 396079262 163266593 394491766 384072322 322066031 417866436 616525350 920296261 105627728 931105815 882966363 884651858 168041412 802053498 880848663 134019187 552493433 893344261 364443996 603674544 800708596 700844179 571800517 940030716 980345006 115426215 152103733 625692159 913731399 227459210 523361235 249696443 384829009 110685135 738434491 568676960 242874797 848511336 232462819 128598547 474017560 924985574 167628446 889136367 749921730 212208243 690647187 282526310 725255788 512625980 830454983 113334660 763971157 381831191 888095505 600979311 731245988 966573815 792709838 298682622 202142462 551774503 300005558 751914181 951575266 576816405 867894196 618117462 285895476 904388129 157149167 761352617 235060656 236505963 684376972 377115050 682856770 692020334 165319593 930227060 971148317 988466350 906874421 980871452 244018934 727238514 277734550 402622254 595040446 543251590 325736598 564848586 653527675 389109853 996461981 417586216 381092669 784010100 292758463 823220490 489351547 269130892 598304060 359594028 800685167 628503211 118684031 827890159 621854439 935848399 190299788 182377851 394712172 982237786 559536832 748597586 678511968 717867718 329484854 412621077 777171990 288208147 874281933 643526781 701198886 150795805 275969813 903313957 170634010 887956878 595413900 283592554 368668723 519813227 650029960 297535612 456137968 843918381 513959106 903597958 382645438 955111765 330492297 379239479 227832230 310634954 795251155 377791559 914153928 485203842 968943112 918126172 809194445 453711374 439732898 595594494 599646312 477322870 433135465 930225282 283966374 826928174 176903797 195213676 466928169 885145759 242797248 298900256 854222229 179215255 445071031 616439752 847014571 813974061 869987604 983633298 269164164 959321521 755770126 566500343 281766926 673682196 204730655 956244288 618290310 431712970 563782498 512495603 130081549 250426271 662880629 925827624 356435146 184731753 866861534 564494666 457522696 649668786 425357378 849199090 739534223 165460508 501782981 478688981 349400780 438336780 686532106 580671431 217578127 712276298 593682571 561081287 580758397 341789824 334551876 529433372 842352664 993127717 661550318 566736731 270023435 483989687 960886800 293654145 586130477 809306379 902619006 367154427 738801285 581780965 426372811 533397656 291126621 129021148 635531499 393982718 582677348 725156780 440467474 458279401 322000653 199189060 917535607 712786535 132817883 432917820 399176587 988674827 644770562 621129343 308036639 959825893 518146169 914097806 913500016 230679513 736296261 596633933 329800844 638316250 913839932 764620029 791385191 295112497 792111742 391572957 970779548 198366416 935527908 530959609 521659378 550363983 195453735 302675010 605333572 735425038 598204190 270604363 188049559 859382662 822576879 268981248 248357730 216959953 346488848 811972262 344295483 474080722 444349240 496514146 493875946 770067396 224621614 915228610 630827056 112260805 418068112 768781419 318046470 974093930 320635675 296981366 372185907 153767349 537831817 454894608 363178959 124340318 816999073 287501343 418885311 922198074 286730979 119321638 362068272 345854422 659429497 579882625 987304803 636505507 956385603 109673484 584566169 609342617 636113602 497959147 257438903 167048656 865933157 169207092 692294608 431382814 400092686 756709798 271249778 950101533 319295738 600199893 318667955 371433134 306466110 900558615 157272709 838172358 436140664 630027463 945954907 937189855 650101578 760252183 425471395 391991778 619200593 866796948 717260391 283024967 994031580 329267820 423389756 818588801 486601079 485576144 153400992 603186585 553922746 715282886 445423653 402222334 229737789 789476123 151613304 820193929 442538631 581355369 822159539 898539515 734114688 236837714 291877409 844775036 616351833 422130256 585909927 823579637 101975178 393816685 794522175 419790305 113600268 830754385 587541085 909320419 556454890 251046368 333883146 662251039 129451665 731040677 172213278 723636361 220389459 853956581 761450580 836534181 340555933 332486941 403178903 109565432 992799528 317070005 588168540 541048404 493949481 592905994 777258666 595335246 623973521 483256057 344864481 917946951 588093524 905938552 401037724 655003232 783598196 756466991 773611836 869344945 683142135 187612966 728286284 171943073 638914603 624799816 204573152 697944752 177084942 887787658 514980990 805888972 798855921 891894465 585453573 161563383 984510833 250539628 122922384 553842742 807251607 651731028 848956311 512923971 153157652 777852296 952063278 331832146 915818746 385688128 196661398 925617389 988499729 879678114 583696140 729886629 529929791 246439883 856678315 638337964 301202083 761930088 988947034 559431626 395617434 321771095 486083372 876790493 629042214 209533000 522008870 117604417 393840418 370960501 108665724 462586641 304690685 394532589 562699012 333857424 665847987 230542395 343367474 171227607 572049353 833897917 479204140 635551419 281365451 388753198 766402937 773260636 326146115 947893369 475193138 237683588 671160369 816510898 107953073 112542198 967640228 715538496 879118512 926681030 725618955 635782016 829075178 627544669 178990063 299464989 899553367 644552316 824706720 113334437 208018726 114395525 849159305 474196184 874760086 652622263 945466457 565513541 773478280 109058305 124299321 334088018 952935180 789728054 549702015 750117827 650672974 464835836 888597369 128951890 875795117 672326215 915377304 984270946 645638855 978499848 336605505 318148093 234189325 733391833 625324965 281242808 188767217 871917278 997247533 296850856 654365497 483857801 268153782 695361467 836376381 399908540 333212239 571179114 213841696 816593560 980119447 789778191 600197264 273776901 203272467 173778013 230861149 245900561 971257804 278576126 850012480 862658711 246316835 298690272 888256656 319355804 452478930 714537094 829150278 826133800 553999053 227708006 155149699 434838076 176697486 193139554 689623471 706962843 289643959 308139376 312732512 156829395 560298552 404943667 571588617 702744120 578474161 265038074 579655779 839412845 720522885 900601740 864505878 797085127 321691635 229772938 746624054 792222316 321060105 310088660 997094070 927462881 831659606 742218938 226866596 958360416 295460147 588976121 784266292 723981149 198079699 439767248 405565197 796393372 321346347 468779477 477314896 500727420 440424523 945291715 218446259 230488778 397564716 605301725 720617560 167310059 731052334 173460055 561423986 190442650 713553463 332227124 652424727 892455146 476094462 691632211 662971598 432182074 226258940 144057780 425780915 467495717 515923923 890412035 450909666 624479881 472896569 819575337 853713057 419396987 277295687 628245525 773251166 934863362 383973730 392400669 692776721 973012099 592946461 515735340 186141395 969353123 273853568 325344284 103740227 787675167 733033193 233168213 249604096 393001296 464458470 136385558 900167165 260183099 252186726 736256378 189820325 809182275 244305803 516827192 409459791 272786212 264883695 508909002 620989588 457600566 390689835 675512578 702490266 489774235 928753099 408650954 170319356 471639629 165976680 773990291 524391894 475850979 450521489 687887348 367194369 671837945 898737460 309875054 213059996 388077265 213994680 447200342 872501651 261484980 686521430 134845275 504086029 883830768 136194358 366591988 551270801 575055696 634923916 912774376 317958902 755098133 233715816 636312235 219637053 953386456 573358464 404309086 846962909 481203740 287051619 366657606 213933112 628086625 176405596 333746452 663119148 883592173 807932246 555263985 769901110 907894026 567157649 342896319 956812657 766083748 881127835 804431159 775199861 762832902 525817235 235353603 529130988 989450335 564051857 956676989 951456830 906769273 368457234 890631515 912577410 251798437 369822945 444744907 348366244 999646040 692279078 382646659 150495371 297805584 207132339 622837551 254730964 375286221 492566317 833214847 929748323 863320675 699065002 871038399 282483959 382054008 648296995 824102530 653177059 701304300 950624424 234589449 590580022 610541249 656143489 375462208 661870835 774895868 366019388 697774032 301319123 621048260 146309728 643711380 509132695 993574490 718115020 871548604 905650798 762813450 669917580 201594275 161162465 475069120 527168899 948076184 556473285 313828635 701063680 983432288 290139068 699224267 511287460 281201888 875946821 418322818 124751706 952111708 528867157 269150189 184130766 120133433 359955582 547598812 623498192 855599862 542775876 371698814 512577036 510976777 877398176 242576210 712593194 465360225 735486359 493459196 692621701 230818558 620376243 342491174 468479843 590525252 789623152 616311888 785791853 321610792 738539458 166348940 946076861 288890334 531222991 250360053 271973192 483444698 405215088 709560634 489129691 377950323 320042853 104370574 813258283 425635232 167464018 420736259 705021670 225632657 651088859 446982651 196358012 952956337 591458910 979179760 775556933 567208321 708826547 193995196 764054055 592714756 503875090 986573016 704294535 830768077 443148276 857792049 100534603 414256789 176943497 640223806 510949742 286600217 457727432 150823275 281540035 522713169 105528373 164179415 787115038 133070729 857703518 180781004 823039317 545403220 274555491 986160643 884281387 811312654 561377713 368070307 931576595 327151343 951258046 204797620 128908204 351486524 151524481 521411727 505432804 309499320 562106197 309509780 913689356 312119180 464718921 325283795 564152800 176041095 840715516 498758530 816825800 799358962 933543516 384857626 402278763 869686518 852322460 822538851 686208105 860859219 626516066 923119858 275585022 672111537 311589401 784700907 373691662 660600866 676120524 386727159 902159803 944400487 733929593 454319301 980284185 593842402 686899882 494868630 451304532 365624661 912001951 448399389 385506178 798907284 715318381 465503014 204343206 263933338 264377112 765029750 765835778 614904220 663806205 317613818 414147726 173626002 975942744 833377729 979483154 694750422 842011655 337828641 799998634 989464867 999403688 691279567 183990704 833152304 874749407 299764222 528071796 229818603 444810696 343059697 202219923 626179961 405617231 700571775 492415642 391386856 507267739 575801390 331183834 925265875 116558702 280590452 718613570 998134057 185963351 771355311 258509914 427455161 790079359 233400733 331262748 516113154 179134128 896693007 374058341 531310717 588705435 677112481 703057963 539363315 981883852 851599718 997511615 134149130 874209143 206700914 918646653 893326580 380284570 555443168 531047663 371249732 726893731 153057812 678409559 202774869 969885692 842341362 444838694 164593219 365730928 967468108 572900572 346610736 885866765 126218508 132981756 305034424 465144012 965743576 725658474 259175314 837614362 854063401 536712165 693579954 269732868 437603008 202882432 514798753 448576964 195261157 461515091 218801518 705412792 315696679 427308627 170951490 457092571 913884885 763153274 676329100 716579426 268876573 699418542 878258867 150082967 104159377 678573162 674027680 775344163 923826194 635675600 414319239 401377352 455243916 260561100 476850588 793079145 446601185 570879261 345847194 609544089 689913045 989080032 915013892 202170524 313584539 678058486 384900245 541574371 819698224 942773472 922061207 603671780 761689523 411097762 164722051 207763878 399330087 652137084 483868654 305739549 634326570 151113688 616120475 697720334 677821848 796610707 995903944 106702725 899294189 767157425 827085427 853197586 979710096 214519610 332530554 330126838 485001588 973785520 665938071 339127550 927743945 591115971 413272538 732119514 862013933 397331856 360422119 113265284 161262636 472493781 248973811 389342115 485528420 363914024 240480752 348983974 505023914 609088000 804297133 482491745 806998172 742439713 769272153 123546980 967835910 692078180 268359491 942353986 131199179 643957031 487365640 176426311 305442230 188308723 383944147 977397537 312684886 497040731 523198997 191404015 967356942 631941240 668550284 976754058 943918037 471941386 908723827 342426363 696646510 939015224 130846755 206396446 959991492 404111981 172778961 648738661 913424369 392241366 502549480 610920552 131632231 896495696 504200385 517575967 188107155 826525880 577743646 895871467 637551707 605024614 584594566 316206926 378114968 856414365 983455817 747011736 365249872 233631515 951162357 567707685 112309828 878509135 293744613 460801270 545409480 944372209 752647395 384167179 851156073 990274947 884282884 933568550 733032779 232654414 520336353 577621913 271695321 692258585 736291321 144861158 205255668 961470996 997879863 690538520 256749893 798415113 601113493 912723547 215203192 147649736 178981225 529757747 687945971 210075769 295421222 176825642 616167094 971663295 852951892 667849843 162204603 878222915 771901229 176919548 404654146 377114242 245064793 542490888 699094766 326130148 739851694 515676547 622575243 157106120 199476081 920543453 662026880 881624669 720551413 726607351 457939138 636631609 538564734 438112264 662184409 378254710 165754716 585297256 556525750 574499971 180065540 675981112 882564983 105397465 462435643 269955009 167201902 583143226 881944237 625516146 216818911 439669559 963402533 624587982 395925616 847139234 307757758 794171092 826784846 916342101 105787770 570803990 807303035 801229111 252734775 272961488 829954751 423432249 534425839 298522878 706447827 590131405 782098834 576683170 961656328 238802787 986265999 842217136 965930675 565448853 577533855 173483139 648852376 179056305 650277188 778436015 975856750 894020714 318877002 912180378 890312677 820036051 648477174 147490869 116683501 769348565 759154170 536879845 629713598 905436753 851618336 127512569 543464187 651645974 744181941 552232727 528387792 145510731 679290699 579305727 297296911 873139780 770728107 141706135 207224819 431379577 801605825 936508546 770127164 250364348 867682699 332161651 642368266 766532460 120716003 347615736 604125998 956055258 565559911 111535377 528069286 938554395 329451447 588986090 330989657 452050048 290411986 947052640 143525949 915477962 336121597 735089764 832732188 762912012 657790783 638057379 722141765 833749521 329754869 524997791 642835566 245896773 802588179 179760080 898194079 364303735 541995199 637303285 391039128 990679679 529253889 616829777 301150311 680998620 487018129 808225233 492502828 290170206 763588303 587561037 693301964 491970521 233783426 228668491 627542816 569632952 797498338 226760062 386584845 235741965 714817473 914801294 580576240 899472937 634800986 679555587 261940794 373459366 517256895 492086210 953773773 929050075 592931533 748580062 979794123 162515483 610845314 262888576 299396963 997502210 560908764 429436706 284795161 441299376 891942277 485299355 495835955 652462674 536638497 645253094 463557280 952700992 149190096 210366447 240041021 793959271 886547104 546504841 330299735 974418578 270098153 541426119 141273344 296145709 998675269 280297954 842084041 599088723 922440643 484383919 937372574 450463643 153240485 275090527 369808510 929365084 536040975 899233188 708528092 963858581 357792944 322355956 767215126 753796091 388204543 476715526 149852547 353369595 953021168 762564453 828861604 697621381 259970517 478130444 428653774 806017154 879215008 129964752 845718105 143430442 249921218 453911486 538856473 837477137 668111380 756231891 841355257 950682780 709954985 930450836 685746953 760395656 784256204 802067550 825445119 189712296 628453601 811989531 616280543 179066006 175047996 936312704 886655723 911228995 426175404 227310667 301481535 117259477 601391632 732340685 881863719 170969835 515763228 570186781 164564539 786770012 596537756 582738936 266496761 825506567 259608027 726787782 435550545 771044891 118578632 659452852 680023696 562854703 309952723 560577646 904118504 836134479 151431957 731147006 322907921 741872551 267457011 258553747 816387185 988233558 743045588 170438760 614460568 607081686 547966131 906325198 725406460 658648485 486907018 827503159 533981945 336542240 878955582 323048463 532334015 604862189 523047991 498829328 342260768 531077613 756859026 851535192 450985511 871733110 794519518 817971565 894415384 427950275 568621393 693562620 481036920 935194297 274087007 951386936 170129945 319310355 210441635 681395020 378797214 569789135 507613955 747481088 380849852 245099445 400257225 264233948 988122622 434015512 672504839 123533489 428737101 877440163 809524448 407783439 621415349 100741480 724795456 821147992 739665179 544960009 106019142 919530189 252729595 375545157 459373584 625835693 335215154 500406973 518008040 916575803 331955514 121944618 126571545 170018784 437790916 230182084 346195921 538405323 671312322 968899853 572530243 456992653 949145193 349236486 235323268 586528416 235153374 385327143 607417647 192937820 105352038 677347836 964547941 649107762 217265204 372769611 805277960 211492278 982920643 652766196 446298973 447798764 576575600 737126286 571569051 359269963 123552412 735939792 546139621 235966056 229492392 206661653 524604781 297742771 343229213 793625450 403344619 947750155 133212418 670994120 280839680 897436596 701665374 543213863 391560968 309718559 253316523 257177153 921855036 231179203 619576425 381179417 123872380 553987105 122770820 864599668 375656934 753296469 242250827 126305361 139036528 251880235 290333373 924166421 420235771 563385550 837603906 526130836 622007568 775593732 724399126 120029285 589238150 462507869 479206201 190875493 648694153 479188341 663725016 337185182 327146846 940575473 480755242 519534049 636637666 970799470 222477453 504754488 325061844 683567994 947132174 569676035 940452688 272119331 694923997 672266416 299980501 403343751 685349547 635249099 586589229 267815079 366916879 514178641 745538502 794362435 200198007 833988033 520507633 219527562 984440619 637441335 826448840 777543064 892285711 908818001 223894323 371297695 714666263 203002876 510053138 710582668 147223534 754769157 694314432 480087416 745156067 289248501 833578402 609490711 695389117 275010023 300916003 381232497 733820414 386990631 364191737 703879891 301408615 940043392 248837191 746311062 852947974 153919844 889450364 402311249 684920920 565660024 310300302 275760630 638232012 550764031 728666556 969256546 856721495 714462063 608125700 800904897 445924248 464933014 890242248 972298669 360815284 840491297 310996118 228483367 485755880 335355275 560354430 513500139 594454236 365518118 903452249 121849151 773114387 819961933 158594129 620337490 421325185 283641005 686363620 509466530 790446412 534372825 227433264 512708252 734217618 122243140 101678628 839931346 518107713 204520760 910626272 412047999 564583924 920045438 790656175 451016891 307322275 796038794 817068665 386199970 166327980 760196473 936188725 590718747 392855755 428421401 716877508 737339971 276993581 670014039 714044627 801715225 986344569 173294279 895110171 107670791 561556889 528871649 156543272 453038506 246905699 231750995 726341389 103576740 811770757 472438392 565834515 551905491 468543529 554944554 299612244 809499214 469987894 162406183 456989144 759837184 409695089 720590377 840403317 584436685 707472927 507480279 510002138 861363670 809767543 744218028 576621410 767761875 419816692 837495380 202384835 111122388 560693269 697416060 353256704 290767679 874423463 493725685 998316404 629678948 830684285 591450587 878864147 676066462 943114942 929707621 894270767 471976827 756215664 622617303 440668165 577384955 866987465 824658082 127512052 476673836 921219153 124332933 557072641 931519417 506248214 999976760 759142496 252523631 274773046 274355300 173408091 505162105 841571472 303730207 525098087 449917566 413857757 187643103 611905669 306030663 744444314 778320871 699682043 209423039 826099773 591139154 257724310 690667199 558560863 508213374 573085710 643176196 575635794 700672822 281550960 183228760 991227652 572705394 346930788 868872993 541514622 147318763 786835470 249424917 661046221 771454140 515057079 456954632 149759912 500948906 873971404 833822112 659326648 926258009 517710435 925702591 435620900 356588870 539697820 144549013 447958586 539624354 252710660 967347771 773581396 382745960 488740063 291422732 862262526 625267780 217803604 647795696 471597775 913819562 828370946 928678820 347605259 751534426 994321154 274562763 496949385 965681169 438224661 199838897 927573306 371809281 321837686 849967866 355441415 359111558 408885518 103225424 714635626 950328059 236517918 349585495 137131559 587919801 979567339 267315522 744987687 753997330 591545364 263063394 586152729 554216126 366771321 871298736 890249776 356573089 571539822 975017007 501368884 590807961 137178457 800856379 959809243 444085774 886148493 990430380 901197923 647403269 885364976 307245404 318760473 377889657 555421872 329670467 791813143 367946028 348441345 361040211 487083901 109295021 946447105 188582162 424385145 550794046 231921051 174895231 377824510 146297479 296204098 317387843 237138058 378552376 578148797 966622938 390930724 202462158 435381339 123674283 228069157 504489719 572119222 608466472 922315997 216465710 198361480 867086287 996268808 955186701 247315096 647623877 926092763 357605149 160856593 532358941 444940398 518312893 264041928 997262083 708990315 559180031 634693953 557691676 968277455 650500578 850795761 138886310 133688008 783189708 444455230 495712209 353558431 540329810 397674497 984249739 318893603 107476197 476366243 458143783 498584170 768282226 871933924 783689692 766024376 181993035 163243861 626052222 856835383 599027575 937387859 288464129 615169032 160134273 551106593 689085191 114736987 376993576 444478146 263913197 372055330 102768694 806373170 559769122 771466127 525004734 495743375 729775152 352515928 120712912 797288878 769425585 815275859 361032537 214253957 964338837 719659325 977071558 661407702 603506631 585898599 628913020 807453699 911155371 338318955 260544654 180549406 149737657 736905761 192820460 651964407 890920196 826780354 905287639 941786880 690534931 915283222 400726097 768442235 462198559 938091806 336049144 109391055 359970988 386792937 698971871 353373300 920939996 573412054 992218207 526190773 656277216 883193450 748609380 509157086 654913665 627513609 987994741 247574884 631205019 499739175 899068946 159622900 596691019 937962518 865069463 166550876 533915125 638137372 337434055 313606444 516420267 727534193 126925757 859775397 540233474 135171571 183912129 295130571 680388956 113387019 924922226 802134655 490731143 986497663 972301733 680785088 532498349 534569849 140422933 175528244 844461129 323941148 644315875 793018514 240292441 476722583 626600361 380330627 120557142 458710630 744079201 262018570 996914169 262789075 229617769 940626230 591233716 227700513 142861271 302194681 982203210 495346840 934209684 774894270 584774541 320141077 729310442 141973140 725206919 883462247 678359191 337556301 651157194 887697866 847434333 146638340 791521669 847884385 946334551 169834486 358617197 510163553 881581344 235745531 884387442 931439080 840715492 922128640 463806197 896592288 282036687 949964063 983147993 622996890 438995888 231493788 419441254 187507047 453927412 233198718 196132130 794290711 543402891 651206357 222619456 217395438 973302540 335247261 249944432 158683053 574885659 640438031 445707258 782222767 364772216 554344837 290264704 303531187 665811378 260725752 789211330 565418862 728111533 448492388 442233272 382751923 396209437 954905447 314186805 127854033 729284639 132918874 694907612 410809186 507820199 680587882 171180688 503249225 142513692 192691127 344348663 856271466 418236082 298082606 977962559 484000640 559906729 323846883 559140731 390212205 979374523 836244769 239600303 107941439 938413624 156502112 262846941 802616068 799593526 253283475 224450743 971587201 674912278 583068848 257346735 803436715 345726700 670506849 103696276 776125915 184953176 219322697 803634198 890669526 834200771 281725393 730966595 181875871 163720321 789458122 825165965 632130754 582399862 758252887 291431464 716808651 763926619 503759079 506844995 826108050 222152146 624274605 416486040 518036568 586300713 953494836 816745467 894131105 614881871 268830300 577313029 765435376 745578761 823067347 846228469 787150173 304150895 966471845 479709784 431668016 475704618 486559889 434657499 537969332 236670232 553205648 846300235 613539157 534253315 189162216 160745195 938567254 595923626 583148929 297019053 274427921 756961360 194993828 751669622 442301021 182128443 735385083 309969070 583263638 724900532 139307774 296342650 349422900 580253614 191441941 563967443 710659633 702400374 867422301 852506906 742101672 668525677 142086509 803694678 405951864 489971689 646134330 337374150 825155093 686623927 301121137 964117934 620142228 331606956 433216400 308049370 323182717 962924355 959639109 193900130 986948043 235913907 484769645 567528914 596064569 320342762 627224775 488477004 808782919 690514539 636755551 251042157 803312022 955076611 785292667 515951313 702831837 174254910 610864939 546367455 638347957 986240120 329551740 392661284 201018915 335900099 842186778 992332928 733533552 512279381 734021725 413926661 740324885 655748052 519668817 178587170 934986577 772011592 828182116 859322312 974914251 764163966 490767424 920741924 998884024 955514352 387062195 818748160 102005658 438439830 885799722 774860209 496549657 800017296 418963194 175867372 856108132 537797596 433998647 146662659 368806174 192205150 882396629 101194365 412359243 979190193 520525264 195658099 477357146 790007658 100252393 479006064 484000341 511872370 285288522 587337530 858898360 988738771 383376047 551557821 134001037 989455679 720226955 718451722 103912304 446462431 987432431 128615438 781705710 558692690 290072706 679258593 249798595 392920089 855890752 602713620 958972347 307142398 622206899 452713711 397419267 483195235 610991745 844473797 835780216 496272812 700442219 527964225 147601180 819723841 745559476 434260638 235849764 300874152 390865933 787087005 142014690 305172692 570529475 290991431 726706620 456092808 729895909 685337784 224265681 778167747 304006530 824208855 146009229 817145375 355863932 492547307 490881636 897724814 400116839 674760267 754008974 772126637 694774825 996848651 549231404 506976470 547326965 124827579 964479009 702877977 492169433 904245835 164869024 896259579 193639615 474625497 684181164 506045431 918318029 931754561 578820501 175776597 595963738 287214882 520274440 849180216 170392971 419837975 915808318 747794333 656495668 968679702 335157455 156490517 897466763 168525023 826126956 115966952 975317715 633540042 620913424 651147966 664107863 335332765 188221627 312352867 239754661 815084910 972733362 611051445 281486644 545722791 490146675 353246677 424485176 967342459 673210264 626169892 487847192 951757079 899856875 739906065 268225805 548019203 529506019 874653454 206654056 180200116 534022085 796057822 144566305 365125724 601273088 780776896 573232037 486794129 272592895 504958816 619040599 784085662 538968294 359982490 713417472 331276393 982642993 424610072 341410911 119554334 131237539 701043852 284189868 368000894 991959684 304730914 270631500 315955232 110701276 799658673 644032854 713374375 632858379 431164112 804454365 396546906 811636422 607631008 356758012 939612818 644398259 454447598 352552699 569426620 979561049 590627878 719470574 701007788 225379027 521711078 527358073 673414643 606713437 945796077 717163324 141992498 623918282 219885407 485073968 439405615 971598593 562984236 445393690 605938592 869131307 109271817 151049879 692071422 800109854 229658606 120629345 187960721 906806720 592466184 132463992 943009807 364581129 856645501 922094966 778533351 524242489 335192581 845986025 904108214 257627132 327266035 310972101 630826673 607728462 508046927 368051542 405544668 162043181 589436495 663374401 842757374 713067343 544104464 593478801 705398750 484411185 111152581 624312490 969938992 880266409 635494256 941835060 916714080 545289002 384627142 128365303 840369344 290599939 941584909 776803180 377667645 792814314 440388050 972085644 960351689 496825219 529085556 237289526 220777854 116488249 228310931 580026578 398311465 396402355 770154506 672921087 808349225 707246062 871239077 357203693 865519920 643631437 138279069 712564316 346093265 913515194 655044451 888431264 873030928 388454541 893516232 690011905 363501480 858817253 161463731 235937988 258928692 631878202 300310999 988643246 893246181 738694480 998799925 673890628 103697064 620465549 487235256 119643119 860793018 912317066 953867608 473347218 696741543 507638221 800226976 365261202 703725646 740379322 934876942 403764790 395880322 843817340 244523217 188178194 840839504 446202374 587269778 272315629 392114343 776424224 661063203 572963875 458543786 408391627 337077444 221770577 256317383 214914416 876092008 488671263 578497950 165197465 339085591 562460128 931031636 461791273 461100801 186977905 945682283 490823700 526737696 854587495 537253593 822133320 211243888 900858001 679063814 993896140 677816105 537439323 871982887 483996103 242560123 976946804 760266119 197753639 681142762 386289371 557788768 213244738 743680191 881944724 445697829 461537404 920438855 723809113 957341841 468419260 549673887 623410490 390635448 785495074 993436800 457718760 919325332 602351665 829349739 521683103 846154973 304464964 550508663 922368134 981393975 107389075 532937245 939156068 663760745 721121063 203632739 894079519 556206203 157268811 473279233 758376673 756950996 207603924 537202725 217830670 877128045 657232848 639093748 822504717 984847048 561021488 701248605 827752204 269114996 923329841 411808950 847079253 970372145 866204255 833000419 302426216 998385436 603396281 774537084 255310026 334297839 104180941 943960772 310518460 448371576 718745550 691902396 741734704 375075095 959132302 370333985 786128039 363008703 478670206 952519918 129034865 106468024 599419577 392524066 670958465 507181755 413712542 263731115 339718141 197546428 400992264 134091985 324289138 243703277 692851153 450282090 381862693 307804815 900316988 618997392 596962657 532573489 674388692 704863614 156968564 685027264 592526884 502996855 633736520 602073156 420963368 728203627 220799159 552558979 213884382 946056983 350668650 921123666 736057584 371275600 537111358 509744813 526712853 436118043 545372679 835839600 924652342 587997724 688207805 891922160 693161712 782373607 779724011 525087926 141491963 984143899 636610715 456467346 148018898 497209834 521579188 811900595 355696504 632059720 865591936 553903886 155688121 355078435 695172183 865441002 882212117 195916538 976934758 216267946 448125534 636754782 957772132 735431249 390062835 252544293 500172424 361175375 483853410 507620272 990204980 515712583 507947683 171559360 411737625 818971476 701593526 788021256 883234939 706753733 194030896 540598973 165186307 488396807 469801183 979513841 692193435 213325209 920093549 562624958 489421226 127369109 459998796 872051469 845404253 808838624 500729944 671473420 280937363 351418718 376588806 607137701 680793391 134666681 767844486 738411263 602446480 442447933 304317562 327959030 166241381 284504584 447011930 286073944 882836309 766385598 278528713 592578579 307958059 808528205 394924194 857963929 768051489 190995258 631744880 200877242 483985576 531080101 482404693 891105198 753574226 846421621 709595024 523920560 801052245 292578272 167409786 479414353 319330783 849104213 729829173 435562412 326354378 129681113 462012633 544793404 341516283 730063557 520032637 733384446 744162467 133773980 408586123 424505957 970011441 416106849 233815288 493449950 483425639 613356153 211497576 129349049 543184057 299953147 564742712 891614870 382969386 161755954 150323518 454871104 822136796 171830687 592709001 339006025 656507319 361611247 855499447 975334119 894062390 165977525 950996010 330327962 402307106 915332672 204931971 841075490 562545136 879948863 354155829 665383803 945919612 547448002 651814138 222818533 501812071 369187320 783070488 632378674 455929072 871231194 824140826 880293573 571261455 632041784 665424266 199817484 416649024 882037664 247574397 692106553 161745715 294004720 924303640 323849971 143797292 646065732 711533138 571423035 831099852 699042695 998989692 522026893 647500119 682088929 102378703 294400926 756345247 963153680 695255124 571994065 174977833 854657811 791333412 341135901 444523119 445354874 842343655 474730894 944151580 888382247 165270856 133413504 779555011 213887238 491257551 774276933 474856212 585039342 240914445 655358811 162532057 646971484 161977262 411159788 734534815 711554237 647311862 246913596 745870153 110268505 782502441 317624452 409429942 597682244 944705920 148290284 909239221 560272844 240857057 306830536 865418761 749278937 559243067 308649706 194480702 629886742 690947043 903608291 205800024 180497530 286559069 426781725 761416535 796655655 157196299 263780241 785075308 915977872 719954879 518607312 412209894 397446189 508220045 165139359 482401246 114936220 281814626 355474499 521521197 939802516 634745313 799470639 958998636 741898660 496647078 583836272 395726936 988456097 193928376 952581782 176661430 217945938 368334512 471862251 932426627 530351019 156104651 154212175 408109248 594510533 998867284 984609847 523286884 636904224 766465119 231128421 746594704 152838871 835308016 131826841 920860662 489345557 720797219 913554838 761809883 971574001 773523809 493519277 710241068 614860845 457468939 181750247 462584880 659802456 927294973 689710760 952075209 874613412 944204073 199426162 201777908 357964234 724279223 992647851 595480058 372700642 985699105 684286660 179642904 929736427 933366083 192113593 206915817 414256431 778545381 375581833 784106010 968513058 570450164 301490058 493767109 685730398 624658789 387459547 623510616 895005510 759140540 973822583 561986078 367657449 139352001 120628313 998748372 999200224 342936233 977687217 861932617 913413111 770301420 889772093 764576913 782518812 881293207 365017487 678288942 731055790 905484410 375750589 971986680 374850183 143688194 723951776 569014570 297499780 237392300 728914631 895197986 371730638 286134218 358795911 999924371 274916558 905786034 207002394 830289548 543887854 525654660 604589032 250341107 481315717 169821417 713526104 660354649 234300563 600624066 187667317 621755900 525392686 694282579 980212966 724640124 433572616 514862623 862698484 535362833 220309884 363020929 915064278 859866048 736484464 373085306 323863919 549253462 899417919 256234500 795473320 768889844 777876321 869626569 113771913 195454471 182287883 424322253 425543656 355165333 838659750 997098288 277856043 271900695 525274489 166376006 973370228 101045778 778325732 453623971 567063455 196892531 480444277 159662803 478962392 228254535 313362832 167168810 913246554 361801334 319474182 279038215 547646047 330316659 742144845 512045524 536426222 789698731 714280589 333660276 626602691 734679677 362865900 826553915 514575348 964766624 967515125 575591042 697290079 146555883 191694533 224309901 530245286 587636934 666557394 550527547 590642009 824259520 853237642 232460271 483873979 288389197 250211226 682523580 482273835 535261821 906294512 319591566 999366351 908917431 984897338 524583746 339190732 338807646 870102403 180754707 819572923 124555728 536140296 179721924 770319524 796843600 445408051 771263372 374939858 473624053 908181698 781815477 419033495 604224183 128462497 362590782 753279590 254402619 686641980 960906097 253721662 411750482 122411058 595921212 551136078 533481683 890390376 729628755 979977556 261347461 298011127 436184630 928171002 128171096 994332996 585240562 140496957 152156674 321391018 948117657 240327257 942450183 790918230 572327776 772002941 444606342 284437232 846403280 328295688 611177230 762915986 786712368 241473170 374639201 839644110 228091619 387063749 940703006 849165503 401513171 530162062 522667213 243669337 615061007 713839845 653134536 228220832 722704343 883208471 408806783 769444082 993398486 484381255 494530351 877583120 896080346 812903931 976816243 390122246 654141973 973526221 115499484 334928667 608880714 170380271 375696901 391819027 487061659 273743613 439938422 631931099 314164241 753311392 179768676 118073844 617129527 396246078 662708610 190089521 607012935 320474047 370653003 399202290 673005829 834047878 955080886 226053159 944357078 249463121 703977265 564367427 704311194 115981980 611637510 658122328 237772783 885897694 567179096 428217337 481903302 693118775 934734993 308721679 703855479 196729768 601723447 896615180 882578757 713498236 344475124 376672941 754280323 120981550 775109563 380077826 353061522 129019113 479364926 894211122 832384176 301107984 438418742 845077424 989023428 766258119 688710191 931036308 680880809 432446903 752357743 370642925 600214958 587165419 210262853 630676050 185304953 775548554 340578153 374764313 381949461 386003795 251642684 564202562 381250207 992585358 725209034 612261938 479620866 935856793 691041094 423665442 783792469 432420540 642497146 381037836 723382350 236787566 503805403 899374601 749970906 842169383 130444536 229076906 170442058 126690421 447787683 195612309 795566695 732630867 475768610 904174936 464776712 764277402 628904737 799140603 702386615 747083954 476451481 344897141 651170844 532476863 181173733 159344770 304817279 685962368 197110882 352610141 673208547 844744449 709502251 801933683 561489311 287777606 704481402 918410094 203492956 291693425 146229634 775549278 770970385 933929612 321079720 417348193 759914029 677350385 984669616 201409191 803676856 617532714 709955052 577347465 528887378 376906826 605494189 503470289 764831093 661471607 801434082 997683770 303596826 781871778 796393904 626621241 400689491 325565054 343362771 815562094 313173815 307689998 202886745 465658843 475088904 620604869 719835609 755248949 357126252 113053420 902646184 815588088 907624524 909026430 766600352 483129598 101445815 935207662 569892313 207985872 769340875 454923240 325507540 839305103 817533072 430204798 958593309 966000529 888289323 154016123 474555889 819651420 712859537 356996208 763710217 276808336 446684332 245469321 972439249 763675622 472910961 564946149 674915270 326586942 372565400 214532197 595743722 522074275 363081078 890143534 822994432 495956473 765057538 276408367 529753951 879531941 497041174 441515207 362944098 236178767 658593256 283980538 876391399 651377109 490185377 263898961 888480809 248557688 843499856 968920126 164413874 327012222 521676530 144375488 716170344 198399915 358486178 428818965 597525680 548710402 521037504 847770322 706353836 496260794 751952369 983812386 464487235 584423143 939144854 755035353 585909439 127291369 680029394 598485826 605286377 998018653 564936102 108695091 113527220 398264157 445637622 621750437 344818076 544117957 403595733 749437435 785997297 225455796 107312595 186322612 758764256 907050130 440678225 798810096 942068093 908005869 363889188 401519985 633619087 227394457 384571489 139295807 247105089 895602771 114620724 424014782 293793861 426812671 572699956 295385895 205634510 927844212 888935827 983228638 453084657 637265124 405253828 154249521 651962303 520973469 974225433 822847052 425531746 750562921 204087823 722584623 679416730 997236252 424971582 607496896 493719416 427810717 114555339 269515835 927958770 111335633 380784713 951957644 268586199 302411615 300249301 409907530 731374573 657053910 582618974 697789759 390025337 772596856 393360590 361190478 232748671 125295846 795981872 119188253 109156579 818686515 674209480 142908244 354937324 682305157 163026337 352022327 113139073 457111860 193536433 913255447 625024658 927886328 120214929 734703694 220963336 337490254 438172607 348666944 689681167 147627095 653189268 882961564 685856492 821769793 647496006 648331624 844245224 622163404 215996226 890376574 180931743 369343598 317769771 792485945 188009856 525102051 219830568 472311934 102092268 253721479 322149310 657029888 444582281 295905064 241652878 999782538 889158320 247811023 332555771 702007879 542021793 474162418 617885563 488318487 624984264 361078430 708555364 249971421 371399496 231124250 295300651 204863461 326963845 838675755 939945804 277768576 193538086 841659395 566972837 504638156 629417286 764097031 525665178 521054880 267640442 848435240 876878473 121042070 252906064 302381619 798078675 742789906 357792653 445983344 809546993 392139741 396653985 932371556 243592557 368389019 746780561 954075981 721702023 216779985 747465354 505335777 851858156 318492161 396561674 504648209 486987097 298603788 395020916 618856611 210810811 802062300 737879393 802173629 513690220 210757556 688207624 570832611 837122570 380384404 911539757 753587861 355930343 673183192 317357602 116564163 815221743 487374199 446869539 692866720 188268206 798741761 798883220 937501181 114200361 852490015 154653569 506213263 346951287 953600137 523753819 223430021 356965219 355194141 753819147 244987409 919321762 510214205 284784314 950689686 164134607 848150538 687643320 781546139 263863126 875146363 425297579 460427996 550767105 567635609 667967400 410907673 120238086 768625873 647447845 644346574 712042752 854275484 990706747 321786362 920331844 308742767 221132808 751284521 993935106 729030975 899401010 223556136 820717281 493783019 682612506 769384824 106882581 190282507 442237855 600316676 474123645 202123953 490827543 769131230 648794844 585943143 799976953 356632601 295770352 876632540 598858599 684275409 612833835 259635502 303741648 736490019 519494895 556444313 577730527 218275208 412079816 222627137 216751293 379735950 906193198 563809850 435874682 647206397 598245522 123018911 796351251 543942429 602954708 777587242 221331007 713624411 132815414 342602445 496452210 644891802 486848589 835614842 605712692 436972076 498941616 506721855 112484575 369792136 847020793 523764708 505116299 232809961 647874023 810545830 222490440 480464069 939085799 860827023 353423875 283386489 173638289 984637032 928747343 417314481 171807585 686760000 939088085 737552037 826793529 661716027 242621440 107099658 982685092 184833571 875158490 789125130 991152244 879196174 847668310 790220238 218876123 733378708 365436779 103572043 156049190 785522417 131926895 405275812 657134745 627519902 876630297 483472635 138364857 170296083 155546266 661425079 585609214 213942536 595870220 747539513 558074424 127850449 288206720 654077179 136861219 385407404 420039377 164216874 995206400 176791212 897467238 224990095 625067425 743739242 477509951 230395611 541276366 235406005 740586157 997165655 837184022 651036131 546211867 302299465 439430469 136288231 494772129 941703021 280358793 522017932 174490551 761990422 182117882 192056382 293736760 818412317 747715023 806953102 559236175 612176225 306647004 548041039 227339198 439042098 507069927 722864869 584012423 966998712 858225709 309129553 404590171 747349727 593462373 333187461 784010496 169835916 240305313 989138575 500606925 557081165 923903506 185192262 612638338 232395460 155954478 474409889 583524722 856461112 879492331 886980995 588215602 730205941 712787460 791011123 168898255 944220988 700251789 302498186 797108865 786667814 348254553 605995055 332978039 603487524 443486820 951786763 478750885 177594521 586501417 750797045 680266153 649188901 169294062 668051944 952101379 778134648 387356910 775890925 340828233 521729990 782646648 670239955 146322428 164878593 111931253 298848458 544340364 388826541 519843734 936346270 855923285 156635618 265833038 235086417 948780295 935516126 128375284 461772337 213936911 263768058 376883001 830163092 980957491 135856958 357938100 761058475 456464667 516748610 344350936 580098890 627876440 570707058 728608468 232435027 833547540 949963279 896312426 211287635 912776274 505951908 295199227 309670933 891573066 197530321 214505942 116244082 375481178 446526923 216356748 950785990 745922697 637245488 334625481 360459013 307205311 716102893 550824044 295283632 566468584 363062938 788086016 369060777 127526950 680912036 947461487 397961670 823940191 390346979 224818243 212905735 218995021 444121685 661622551 728551150 620694930 871748479 486837045 810285225 634147606 892479749 152553902 208898529 699611890 753409417 999482385 342038290 160414636 694296719 847221528 599559573 850281489 143535624 335051023 795853537 802074665 410507954 250745140 193747573 498998715 859949007 512541766 326890919 766961227 462825993 370945325 793795461 575976250 681264584 250348643 473159466 677186670 110555404 806684616 105898063 137189552 642835341 326285579 715436764 102792081 547539743 201533353 829164465 567443432 696207138 219038072 851941862 802334780 965575116 962895555 313905302 292481602 299914758 402301954 485756094 596119805 882285814 648475032 128986159 979101285 165665087 689466775 548185598 428113956 419842022 709647814 241234071 804220580 657242259 307757844 859989665 281407415 900983014 401662191 136213982 447334145 350921973 985932160 404544172 854369677 417182921 770037349 472847879 928481508 167405640 593354850 461162194 546307756 280466963 336522305 203992559 270179420 303089321 768952209 622485492 276152449 569092200 904356301 877114379 281758946 444312021 129298107 829276144 695523196 324299340 401409553 692488505 857046397 593600872 840127982 373686410 940653869 986416988 387102436 162531032 569312813 229863177 237350989 566828943 468983058 641266038 757207882 126960492 771729060 660968286 340167815 407254037 474913453 729245296 158262162 309782628 817697394 341312003 272389416 680758272 883149178 337646885 636449141 519490879 123668462 881763384 807920763 243955586 519374825 930428998 514309565 199809838 868334365 431175251 142232437 669707203 318502556 540732737 386912385 300399510 962297177 845812769 733602744 174788457 983115592 959414048 592856191 586314572 176122158 237094519 760044995 795301732 983688642 802659585 353971301 708241761 951758334 778531788 576612168 615187480 265264189 524808790 591562677 502609249 883711142 324821478 206550518 734775426 417607591 364987499 629220749 772084990 219586132 546164904 119773357 689534225 203976303 533155924 779193805 773617347 952040013 640206553 676516896 314225202 799257198 270296424 973224516 842303823 139767754 870531332 930736743 308838069 752090249 310852438 931246803 693089421 182012970 217907756 380346657 849031935 262597453 425160177 217666892 648882811 573017180 557250173 753321681 587753728 535270020 506737936 570847792 770919289 274236052 126517279 931392992 630104696 554297254 404782632 312504837 383074364 797965320 217718510 634982302 312435968 205133962 753497032 736194898 923516581 691134794 636409260 168448135 397213859 254788606 776410738 884371671 590290818 312830878 645961170 276932517 864004043 760948105 162085507 227729122 959741448 442409764 401469362 992026072 350610510 223147764 670994389 160112192 967296574 824526786 576762911 868038685 135554712 661172915 737812778 336790221 409597186 691075459 600703286 789447576 346353473 569633457 134868789 588023155 252908644 472120616 708083531 738267511 375619745 680339969 504938762 901367630 763782118 397935203 545428280 156970013 707064714 176838756 535137839 337771339 507799667 599020860 195443634 802863120 568260252 886077783 834348173 725134357 314086265 359923910 215948354 556113343 827632909 197796107 266385974 220874891 876191942 552932511 910870672 920669817 333020832 527691064 609281298 723853260 324778124 250105920 242982856 455834954 583076567 409934849 211423237 468933145 963468926 465909899 435205413 703299171 129296014 639856422 486659751 909248571 709591593 328583295 692185211 413412471 756618344 421304677 769349594 893709993 530053561 621118865 717596292 608147061 614709841 723396196 359310950 803209606 906580678 275988319 859693401 288220720 913007160 581848182 862394557 354539153 508265053 534171477 660971218 151637325 440831079 370988162 645635282 955029061 897483056 324002643 152191729 517019702 637246400 484097081 158474357 521882839 187797846 294831420 211200837 678469370 385874664 586226617 549776746 416165309 600109838 198994528 840370253 706195688 788473150 535617363 652914542 600612300 789549403 654663309 931878109 297938717 647175223 669401619 417964407 859376588 718368889 528207443 846900606 876345691 497084400 935599414 164194032 143233942 829153664 561883336 661106523 838682308 933489076 463983611 812303156 222555356 698337183 616177491 361384621 959742823 747948535 946908131 172625996 381301035 773042861 907301716 361242982 468191111 250368494 120197918 737968990 301490912 450802145 567651423 340046946 432696646 989836868 498517203 435480958 531296034 498138012 257351299 829764815 204309335 374123891 581026608 606110524 603835758 536918131 103269427 726668933 659080270 365415754 990464366 901204815 650923025 835653802 409448527 535216491 509425639 921585353 465114535 248647686 593115066 155129161 562907951 370404859 660040011 466283635 690381614 761746216 260880997 928121241 508478727 277876397 455721820 737096388 815046868 962568800 820501029 116846665 932260912 377388315 198075199 792295397 474836353 976465050 962817958 531016697 663930941 131661392 979221854 670750648 749214959 595637982 674774778 624523968 225055371 422162649 941584714 486779700 573488051 493035464 325492937 525679926 461878733 514331669 446434681 181144326 827496622 971234652 134298176 397792431 583750235 685940098 269269167 792594233 924656154 838754874 917069103 561740342 706210197 661691817 940846775 948704070 331299213 882648330 554477422 488879857 188646254 417006257 970574283 712019400 645797216 760826040 626598755 532891908 895109730 649901066 532034661 486537723 741986777 246536891 324933632 880843191 177719249 380795482 137591618 838337997 852972507 441701002 366913014 395345612 513619669 388901021 199256882 262936228 633248543 993338244 531770012 382942767 431776389 824351854 986954827 222148364 406420735 428069643 594172568 194090182 663282994 496776413 180654670 910911475 854513157 900572194 981364746 735169522 797948993 573072976 586883548 587358766 382307974 987265467 933986642 787666505 511446140 408507298 643532391 990167920 923271544 621936292 698831506 720732835 556726088 701954510 531249754 226455962 997675026 632021635 686757939 305437500 593916124 216402813 529919616 234458726 467662897 538506864 444396490 161362670 636691111 766209877 986998902 605093843 443359948 967512019 747211485 514711744 281818494 371265046 222037845 259988599 887003699 526142175 927023649 248507596 110755411 939790354 340140356 508099701 151539152 545174866 447313313 194023869 159951334 994305344 466398766 189397408 817939666 148471548 130923735 833269435 822214827 409323269 920125346 640793749 903368693 957023549 297199301 289830553 784859689 342829232 773965251 379779256 240223526 425547608 565605592 992540090 959057746 784464046 344155007 377988977 367009717 134012824 116094179 722074709 544340608 881264224 692966390 876070410 613001914 775208142 818413632 823301916 212325547 592886451 132061310 883823831 771851908 892275137 557759946 926973078 693941545 200125241 995254979 448996024 606087894 281702796 525530219 139900631 455532706 366745633 998129311 552460245 799198072 343904444 105803621 943262502 847566707 416611861 479637273 864970381 552852318 810313896 223404617 981125378 940840117 198259777 700322950 577478897 790567842 624516033 575885442 309807253 950962616 319008235 671241965 135245878 823264350 479061510 627859110 595950934 612231537 485312081 872660027 687756168 471187927 835825070 705234783 210745093 692185227 419008876 148303669 412014180 936054060 833413890 825147406 762798151 595657892 456935566 758733121 532645474 388097035 723956849 490979625 314268672 353930912 804005223 183287172 725800054 194450082 107802073 401077604 291913440 403080785 371092485 486942906 413132643 955722180 656502532 914885986 713274450 413246631 758588340 297681037 331474494 673886706 786858113 803770257 504454213 677679096 101548843 525992904 652507587 413619914 131448986 302333698 378880011 896694756 360050574 767036231 454822550 873170859 515302424 118995455 248501219 360868924 303583538 941314014 959955843 215400040 536356341 225367590 260449101 505854493 872169098 817038688 308599260 463711205 577358505 119351830 986744116 334585092 217434517 406210105 285268120 659678272 883251549 195766265 662879256 550012897 943938316 186853792 637030915 906541042 801681536 150489320 307547776 618576672 322113131 277529295 815666303 207626043 895321622 581733469 897866333 114107626 817924207 858817586 581782972 414294263 473571388 397381681 730926589 327167131 858758561 166317964 227997538 324669202 600694254 605240455 987168601 283011261 382976036 933240775 609296634 613477013 325253878 198506482 529762849 725291893 766870484 680383414 863390282 335598828 291564281 114592632 784964243 304548106 359195445 796651799 527744374 477709104 979816445 838855086 147861945 234112929 763599037 757937053 412306012 617753947 790507030 988727973 385032282 448083222 835300045 677864117 533283943 547660083 667425689 710271906 909263231 884884893 561974336 917409595 461893111 543643619 133540210 468762853 499382281 252825207 297506391 868416786 276172209 867725777 996429340 191738484 529797209 302688903 903826347 573837420 365076455 224860008 455439489 717367455 496167086 242779566 279912418 663663119 371552944 266787560 637323706 653898603 579914090 494808670 711513473 719165066 823074543 932899990 979010109 259617896 777573489 384569491 358278290 242414910 808897971 986230322 321021925 580468908 303289155 523779391 467610320 711686176 826810090 688775857 377114721 213721875 129089612 689227166 354487633 877255525 142526348 626180808 268888545 684403374 612760820 217248653 251216112 708516080 450180532 841905620 328170408 181538247 392798945 237996266 488165277 580626617 893946252 489331759 946064678 339059105 293825054 313967699 140322438 762285284 496812457 745683023 968911277 261893455 456269847 613772096 950791731 560000408 583772670 262785040 928257953 936241027 879730998 408683265 520429946 464999514 168757020 588650155 433559242 581357318 160062149 176961103 938492059 999037514 190466442 237797110 621365127 573547741 256237186 909503595 637442070 468635836 335615131 123480277 881325483 261605436 785877613 568383482 988643121 997880074 603519644 174028652 420099870 590423186 853443923 341432803 121578755 941664785 513609413 968634780 770579356 328030404 400207896 886414576 974555906 949119025 983608804 345305744 945415031 383038259 147909104 145729332 566807759 198351485 248943505 723682165 227689037 530629250 406140167 933082481 152319650 616639093 798992441 362664411 643842875 997320823 168911724 214569063 255710935 700064917 393604915 893794724 164979376 260091627 625452063 211070211 647097561 849860580 385149685 355671956 602355856 857450095 719233257 115746125 368933856 100345034 509543103 600715416 856957383 984855563 544268709 678056691 326535934 427474887 917543617 563677682 984561721 671324286 655169168 391388083 535037711 413103407 796761998 648673147 779201089 800689327 507687462 795050545 590712092 325435785 682739495 639148213 942434813 599383264 245353019 714960610 752895704 231121766 302365593 793041500 988389652 593326726 943389920 363810936 297272056 866744915 662647711 177582305 268382052 488410238 649679534 882401698 469257643 197647602 890353751 613519289 697221348 419791724 833467982 528342291 134101566 134956422 516467442 244035292 202669654 249688148 979390504 397849957 298241326 929318679 628542461 602901926 458347775 645587377 857527152 132275377 788853971 675406312 713566972 843726263 646753848 829648868 378013322 635515052 930045947 499245583 332232613 924292502 108621160 581796255 654084959 708474594 232988630 317072689 951793148 726734593 373785969 913259724 696631696 848021284 394806260 117937334 169221959 933953412 218123449 907542615 887444580 299268558 333760225 504220352 206110353 357386366 195348640 525689222 806659067 839974724 768777808 286334604 409992842 943432465 732486713 873133017 805250299 424580847 584576170 175912717 112296907 652582292 593340761 548929492 433382371 952452575 148455397 612632157 626351127 498177571 595907424 306561748 428333157 395206365 131834047 131552398 986425133 792674776 108747779 945588235 983920267 503726295 973607315 414001412 424476674 353989109 448873174 585651437 973473535 918727540 955877075 708306493 723518119 956923636 584741677 129385603 447453909 185923982 151919790 384784678 878725521 188817105 963971331 653210584 939780660 171460653 756144752 930592889 871974474 321535046 305098599 587837618 565184976 878319038 887262826 563557134 111837815 101299650 422256826 615507377 317269471 552123432 629572706 797036280 193000774 651706038 189529186 693081312 234133868 179400320 106462344 919392690 766208877 675596060 958374450 626427228 267468375 420211131 115231686 929796634 180192931 111135701 770126189 728482328 858129214 519164510 730753676 517565563 884408249 187944232 503152022 450756780 829705098 523432217 986123069 778771101 263471070 992034968 316111836 562646245 164163277 851757587 696921609 116926259 932640936 200164529 386856093 132062729 984047965 835060713 940835658 739016415 606840337 359067477 825734871 375294479 436718570 532196093 995176279 390078863 160172119 627766572 386442873 345528121 732442833 784959386 480369911 979956508 383543715 127712032 792528659 133647832 675746221 809187437 349055324 302369693 655324060 104691142 492733696 101952450 375259786 851744479 260934525 952581635 198471777 547343873 306871257 624477330 104264266 253909019 190656430 655545757 499702900 948616833 636683850 510271083 103784712 895090780 315061382 632421135 321740936 446528674 237316110 663532564 911701413 917634272 515475354 399159493 973658652 426858877 337981048 366074931 612907367 766205159 697190643 116519300 853676837 139292947 708891820 390778718 593429700 542111732 294717770 484107363 684484457 213421492 102616991 442114528 187087525 598047936 224389198 563146361 724855181 755274279 695647834 455382138 530499543 889756608 303898044 880865674 261645954 238173563 367530649 481470119 380134333 181061041 394970268 287064543 884281598 665655484 703961384 543238484 456074061 113049220 241934642 770477960 976356744 674079037 546302660 500842773 902883151 504244702 820071566 744375588 460961815 289280803 185287955 753788783 244141089 298451557 465357349 156397694 265386336 280845384 579155181 103195669 725847438 879490143 713380614 675749909 898036436 245537264 695731602 736504467 298515276 525120817 350967164 391749338 742333799 135546011 240260429 459733789 486386882 854118732 854310620 680252554 773951673 353141786 892119783 876283478 953630975 465817051 308559624 417002466 686096399 823473696 366436462 826065112 341845104 972900667 221639681 213397474 481850222 820556130 143149838 998907867 376002065 281500807 817345443 969599161 297371921 569443605 369435443 499388131 263563074 639198659 939886076 256958049 266877484 232213204 663771161 428239035 320982270 684364056 743905439 465661597 554038776 870863626 282089689 800970589 914962259 968579920 809216721 971147670 403505878 950980104 396109873 857543973 597808071 818162699 245886745 337756478 666794314 795996357 905077122 292693025 328545739 380684318 595736356 489435957 680824247 403862453 630656114 405205136 646953373 853650852 763341639 198592128 388653894 484033043 429779580 872691379 620122727 573173452 139939542 182188869 646424231 445667480 118534553 939544291 947970517 864237314 752818903 701133598 363938821 596014716 113317620 421060324 855005214 533836403 902630597 949398280 339573372 654351320 757437174 345418062 827504696 818971067 349082141 875354341 720161837 583417056 929722806 895490403 581346929 754951861 538173984 371748564 476500004 356580924 417791233 361102586 905177694 927282540 250902253 153690743 217703011 417692516 706165186 991687194 770814237 434359585 753056252 616357662 433478331 281598939 393060714 384840494 285415734 842113846 885280270 399149929 283819991 195241079 326427981 748414225 109372418 542606630 732040092 784581897 278068225 330482409 622407986 850878700 804971849 380805819 825186941 422819204 692831264 229676935 804339336 693606843 179130636 709027438 716230286 905981813 707144990 750469698 306394923 863174315 734528986 160532118 595044439 783099662 905470235 867545270 510106793 286567416 754973841 156871781 545350523 829334728 528051130 877458055 433997560 246712322 432095438 251113289 151085629 912396966 960099212 698772782 212324703 275036941 780358633 879049367 345247932 744011381 447613732 485398716 315308574 751736011 978793086 946135995 142394472 791759786 650430141 331628288 560468673 420357867 257375126 291943403 309904239 746742728 867979248 977623457 858476658 938431410 908306457 738481839 324387529 399122965 789059595 982171056 550561068 462300029 274203758 675279352 486384686 236876899 789039275 964838359 218379358 562223986 950517446 138471761 813468601 489170208 732723804 719274292 342142649 505131464 848345430 876094994 523299020 743103308 102198780 439655164 822688871 145260849 272658421 764949142 109599423 637966081 365898768 536175213 187857842 556477046 313454434 821900938 892004008 395217514 128790856 760425277 886465499 348604706 241989335 667460596 331299714 988158126 525191286 593551549 399248013 475472422 203365837 634168705 442197385 196081352 243903428 502014412 946711354 352672953 768212632 916342778 384608931 882936694 786631449 708779133 102677295 702726887 642845237 499684868 677154546 793229950 967809904 271716018 385074901 888338778 564685077 690884034 237371761 999112441 960932210 441602126 460155346 998783274 826320704 617168722 982778460 287454914 266046531 402270250 324046238 244152342 211050180 539294288 261583793 459961742 304327748 948043973 169805766 813306030 808270332 255187018 855740025 493012965 950770694 437436016 851564880 196333358 399815406 631395086 731210142 352222490 226038884 964829432 930854627 721230015 936719047 755413316 134206791 227849228 769881416 709067909 318364618 665210831 833546570 750793854 171968866 150049637 728166353 566758081 582855115 183806489 787482684 781481843 275406237 578303886 225743133 482658296 592375188 164659388 145193055 199731302 870589042 178350072 226914010 737085676 629563116 210430946 141565951 185850027 457083370 620127548 909884271 507653120 408020113 474834258 945695982 872334671 958569568 491635339 693170076 705447416 301021668 664224343 303192504 423530157 994798334 651281832 796796526 330778693 288844613 941624438 426996342 112698122 720361522 343711273 298828163 682892651 725083063 532845259 531923149 889660711 189603535 517452764 121583928 875654964 238224705 238213725 993833429 170866433 503287709 635827212 476635358 929232552 472790231 360825788 696827276 450748526 651398581 357064552 203066946 781716549 590237023 925369830 113309156 971813797 491825454 153633846 943866967 372858995 331075863 670051148 297419770 143260351 624674610 130115884 277129888 509320752 408578488 919279822 449877080 933273448 359538674 148025862 165589626 363297882 477211430 229347353 135771762 615835481 613969502 461483891 980223869 921611727 369158804 281303803 693687440 533997504 691204207 202686571 995674101 107659914 673889786 370244619 813473743 528360891 515248081 861089137 237559403 678719148 277196614 300975084 502247515 340278875 512461694 857689399 623996771 409153223 317758870 919878144 800701637 110663391 681790458 164314646 658565310 936226838 931584409 552797616 287317066 615028417 345815816 482743100 176326754 399558880 175189320 717921174 299993859 820953521 699585617 865559215 211020531 459833480 296287932 966520257 721426406 893250787 479616246 350236251 755531198 572315787 436541578 237486117 747501682 196110991 807253927 765083251 562467937 630360280 201843294 492514267 208208430 730010135 423460488 682335343 848358186 235430792 951181716 493538678 221044273 343635018 330175403 189234900 461646206 773841013 851582957 951085552 459461290 893488523 699432363 554893399 870810741 792943684 323985520 529362847 372467726 237752354 629981647 240618789 489077609 770341642 718174086 294437997 740403558 851463314 886884661 138908624 203408822 338879075 909241384 253713354 511349463 746802830 438156765 430158506 643018003 623512738 685846244 476936809 828244698 638859914 899809413 975281472 443935445 740943958 570275856 593121864 276979369 253864028 825033333 107353491 548470042 582111352 382133159 553919367 615990624 562610028 229890647 528835884 132046598 842598022 569922302 813668506 337975250 750566581 793258480 200697132 507389614 352972878 880566871 162467408 919975475 801885094 989221437 913317658 285202077 977628064 197923805 809686687 340012815 382612315 869120432 285731845 848199788 132076395 204924778 280676984 746496592 528985142 732526936 552246769 450778360 690025327 642348514 303092699 499669373 404986596 929064788 766047307 408128639 893437862 265198416 501912568 194400272 587591944 594293954 209139994 339107142 622901844 898837012 435665313 495256692 779184937 541995933 449691157 662831428 893791151 549022454 499929980 782672253 149819309 428596643 643998397 542876518 694507668 926821932 527631924 861100767 287794106 245593071 909779048 820208034 639276510 638662217 394960983 108891391 308568052 596752058 961878925 205809087 173106530 999083515 530856142 426133416 386907954 877919397 543021773 219314276 261010209 192351723 697596836 765666292 190114906 694973707 752646014 825624685 683969422 471938733 622370089 377713077 810373030 419811134 423493313 599631710 421989045 576730617 612097234 420858453 347023140 968143216 299428440 988454826 770586399 637426334 345939154 255635447 888634162 171253752 945901987 597158715 959314190 340818327 497367384 824040152 681253055 826045407 148758728 120614343 884138720 879198013 700977578 267570594 471288874 699728850 412977139 985275057 459579201 615125285 593945119 585629146 143037784 756862538 556578285 860385221 340834882 285519305 177523069 766959087 130564778 276078708 574203907 331187217 419627121 717726586 248540992 732629826 737522535 395963654 587966322 346602927 553876987 597347996 366552387 609146855 880123160 985445429 242217306 265720929 256046181 612709151 215130151 933248460 324850208 461280519 476982197 649968758 872576539 803933142 203885410 939084010 335654367 738475623 385563810 796263155 635585532 946039268 636847618 588326818 163760374 703994331 290558631 536307421 461094090 936611210 849500709 198322362 221417131 225896089 201948836 946597437 724866990 971437703 458387298 926923484 143601932 969373591 659093016 383846042 569285053 471690451 421790191 108494449 865416002 745741769 130217645 475915934 397897224 780435321 143569646 683212344 429618230 937494810 731696751 402519504 228869531 301812469 430022877 892392787 154545208 791834757 844329473 291801506 364427910 753009362 323789910 565712421 957881300 579623406 398841479 845774202 543537608 711269823 181878582 450502009 550801992 847883553 810197620 735424983 579251591 548105511 297073506 980365717 753142507 311127515 833455515 921150094 348597408 701221942 533354598 926356120 483417632 702427587 951138778 599799015 298883157 363937218 158666153 515428162 909977981 999560004 499516650 477232035 612724196 880911036 516147409 828523742 787658626 527311011 856533808 493953076 343065959 328482217 985811397 449813365 472385714 707705763 557689726 283448920 607556163 271895905 113892581 357270274 905577934 710579277 267250052 831230127 188188576 322975383 211772914 593950977 855748309 904168248 645843523 552188264 387266215 916718119 812498426 202569348 359120868 728118262 176007633 868160306 575691133 603751083 146284432 624134329 353324399 761598632 542267953 401081260 763970571 948984377 703894213 508458302 571113938 370237146 497922622 495723738 985582946 242737407 831436586 962973485 602886305 387235249 469295298 455574992 683702104 421034915 981375415 716502750 759783454 159903888 337315829 389703837 122322127 365645717 441164806 752261917 343717358 531773905 808310649 163030825 155653214 611230136 619734870 714691719 977399004 424095136 493426570 684884919 906112819 927291457 232546908 998941455 698149666 911969585 791149023 349891906 821069988 979035202 276433562 948791797 512237151 752941171 108861568 493420031 980798782 376473658 683690449 225619179 865099715 869655924 813046598 304244974 504159660 121981464 199716444 185323997 879255336 261935537 471947456 157208004 814382141 669702579 264052614 617372715 988516134 914676651 309131251 716549408 471223132 574163156 239843167 490430655 552458086 332627948 895317573 904179053 904565721 967425041 192901847 432369466 234820859 401130878 207128215 921827034 232669622 508817061 329729272 487080536 713864045 939354965 699904574 826872723 630306905 945797727 149965998 594950760 193660759 385224737 387768913 201893090 872212073 665188040 759013705 750323088 433623566 542459736 451833089 475466137 227118106 164996347 544025967 314851215 548045172 492026982 326547109 165014913 601164116 556088428 938044462 721564046 127229137 999674569 729604397 947454722 186973287 168969185 874334369 429144684 173724381 860627536 937247756 465480941 560048621 450169879 247952217 193392052 123845011 912244330 856175358 780542677 621147133 271922757 272937095 413036852 874554362 554180238 183698437 433520780 444509516 262834560 177538175 786711128 498361352 542266862 649711987 186826139 584862657 753017104 561403223 521521017 578528691 785406803 238265930 715692998 744481354 572131019 651282608 805906603 617771002 790414102 458614447 535480470 375313707 119591157 780420660 394049531 248059082 628767252 253914358 313252939 585879860 160138471 264298445 480663760 236172633 287105288 757407161 405007692 203589609 718105737 456658060 109822428 709863118 231064649 503516125 910336487 546141726 423355527 731362975 937144294 221500276 958360714 656819236 290672207 574350503 165971988 696300336 437086255 459969422 404337778 780047127 300644783 626792010 304719742 816833261 653886690 256464228 475288147 153047217 864747095 577837200 464020796 744217366 760241916 695236695 589818435 562904221 748064169 343702701 519617310 934797754 763991846 383589383 315075347 521304932 188467936 103277384 241098182 822483647 717989637 657247407 916071387 992330148 290704609 810128806 648618978 253168531 833618649 242766481 230833648 924666713 745425841 487761593 868814791 118634728 575441034 231835979 182106277 208031931 865049839 301685678 501070830 485690821 188693584 634222407 890280857 666399424 195296621 584963591 735657822 947865044 858870006 561313599 406826192 943229381 597414923 637338628 347062761 937089738 810492474 407779904 777881353 980346315 521063682 392287929 419801854 435143106 929463436 459927515 858009679 907683783 925303602 680012479 354528114 721135667 292283617 185196639 230274564 643216348 389947754 380036688 373637478 352589733 818535596 626741000 815127545 281561122 437575274 482234527 112323751 670556583 457127888 774794705 232755538 768290953 741651475 517236789 897831196 302036670 221496364 208018308 478769772 290193732 949921306 466118746 166577916 266715342 855219628 486568118 847115092 524517007 827091722 602313070 515663593 568323202 140912097 514517871 220392400 763659769 325212295 109673680 754159571 686818411 638435264 889907835 131581461 983586232 308500635 721094508 417244279 148390880 469696812 404563743 585358668 311736410 818191473 103434211 975055405 759926363 601475866 333948200 791268392 817088042 394162605 684303670 790458929 917017768 766806241 778183372 536676956 460490994 511231218 985947842 351049223 567687633 263536006 269693449 910758778 925605879 753575134 567315272 882983879 405930016 724619277 532844067 806262305 825496977 917801293 287917734 219783641 406274057 174608799 816663073 325608724 687313912 102796609 431703577 142097921 737056207 760991952 666560392 224151958 200971988 613880605 945511685 299971162 994769457 381317593 663819114 623309825 930657943 355174680 427698085 371261817 998878944 286725561 162076910 350112283 844480756 878517488 539077424 179671377 325204990 133379746 275449470 610408297 771176883 611212137 603269638 631194824 875898206 828280409 366498182 261616429 562783950 802595176 700547529 538038858 129128660 974616478 628705525 961615568 907260554 125053940 695299933 533963253 811458748 779478809 173998881 922431062 796410695 197954993 570239076 494837668 500443368 844919505 937794254 937902293 310720646 481522320 891299343 599535371 942213259 420026474 752478950 333912510 527758594 985444346 716656036 458529806 134601275 862385225 972666905 695097275 950658134 439930084 335207466 458734694 711066105 618804403 800490692 352667024 364405315 912864475 729297981 221884279 766534529 407892215 336848359 580048701 910968710 143202488 585207741 928348230 870985886 714144067 863109548 795476829 167209041 681285629 860027580 975160443 814123198 914355653 647046539 298334567 360621349 149181730 598553236 674590840 334419851 445473440 414203553 283497947 475625230 784190442 761200128 305997994 167345409 199817223 839455475 973769837 732950364 354332345 694645686 493974316 341522640 640640359 317777307 676406281 916720937 399148603 768826468 671864217 893030107 967201031 150646602 901567037 427623806 860613220 757740360 180226950 391335752 649197194 938266250 291630793 607825202 620686698 139454333 303748571 290701555 666206543 630563259 584735510 328110557 481264629 752612183 402454599 446863803 831362839 540015495 695610249 706849762 879366334 746482413 237973323 651555935 864811653 301459102 247905475 635615927 849356120 580645976 342592131 323708675 616557607 238391431 326706037 653940181 268280942 919651088 995425287 703580784 720214656 847010962 323150196 236440633 775037474 415687279 471986980 182320368 387419192 433870040 712996489 422364944 629521697 918802354 470701543 962389509 357734891 453538801 149215599 460922095 275731111 156883558 218267636 215145794 927183694 926446905 729442434 739528507 839449153 291554406 152403039 779062448 314300164 246493119 650552399 422368102 399091963 666418187 908601488 574175178 354913637 838663804 599230331 233772895 817529908 331092080 446003825 478981708 307019253 440017802 254974098 714549968 706592594 484726815 510199090 402276703 959796343 107993792 299535031 921483845 863421585 713592916 235206496 543864716 470897570 303363694 304187333 463647683 268077848 211174480 818087179 927509343 316704622 551483413 349515628 552254642 268426237 293201785 768731197 607228005 887960911 412110169 573649623 361290506 642906584 157936059 473904602 178528183 340712659 465654924 203385132 286073779 616382881 395973680 943777213 516184981 714543487 269014251 997947851 469398436 846101086 808146662 403699531 583996564 947284095 358681339 578966390 185626173 880333894 522490447 790785572 994501855 869887278 368131445 571827145 249961032 689466191 112348378 776584680 805084916 382087874 452396265 120664908 434033528 320902093 975883845 513958392 415630488 417297147 369678949 386659402 546863121 578595484 431075462 570776436 292238077 551830426 293242299 518535090 655292596 270098930 515936291 651935470 273895493 990433521 811531039 970730182 731779019 625585191 737840114 122258613 308052150 456785780 483480826 903200171 237239800 655176230 676167155 542249062 978927065 862587397 539271492 120524020 906724884 885886933 333305086 765532992 896102620 840392789 406619059 705379026 893295879 764820810 744253979 712719563 349323696 423359360 463987898 477165421 404500712 987157106 400956045 983809489 789067019 653620133 123093369 532426133 156278951 828399798 606514873 143507060 860233220 355431666 958654347 508679047 724385012 637704404 662288505 383507646 876444518 148015810 405519107 691930527 398804437 385847630 431415464 110809404 200229135 871377028 262978326 440886343 733172612 466441973 228155521 598650554 310018102 583247063 811595336 410367788 923486947 467599329 996529854 691150740 541367272 252157074 345459505 611148274 385613356 271181494 789137965 910734667 121591011 879077092 439664310 857973538 817308244 195361708 228187457 324458628 504292775 651820708 370287845 550236826 552007570 149934108 678840788 598015715 170705972 916030156 906029444 179965356 855933695 895281110 420977943 970654973 167799304 174072719 165816478 881920430 195498146 359132153 151048339 603473941 153136484 282422259 392457485 870112975 329305510 117981444 625401341 241685618 781674679 935594597 205911036 398100286 247906457 999121105 482859845 394139878 378492067 400276474 844182976 291994182 457768124 732189559 490212702 662392206 127856315 422120085 505244782 322916845 475249217 842424124 151377627 763509336 459299478 964303676 348162328 746179249 867481275 743532438 188708861 112931048 749544667 594482035 151979581 140313472 917389287 858981071 662758799 709898837 846062637 671008457 658349437 910641452 990563167 180713902 764535654 469139197 889916731 990894736 986140871 742894303 406448856 775746150 429611523 384927726 649710610 984472050 721351749 139511763 367787441 406009991 532316611 690671047 469354980 485038547 545574720 949172503 696613818 968112156 522060701 163334602 858799425 458960246 663829153 805240243 581519260 428849109 302457989 750070883 982341786 291083942 624298730 641359042 925854174 970872558 947825692 183674089 934136024 813306455 732251869 201784044 959080142 328612745 274698281 946873208 728912172 738163493 359348472 680809010 225717067 889738307 919845831 185605848 550035094 970256393 922291785 381458672 516694687 173936289 137354674 960710217 289582644 829362488 369381655 635594472 458479464 419921946 560722400 769144675 750577244 620495555 154741794 200238008 703408122 533727166 190197457 947910774 391650614 205386458 391304236 886433663 879560154 235833854 781915893 245470136 107959346 372899678 840314910 255181301 971241275 624245951 706421042 110506190 494981465 529627737 760140797 912477569 360070640 597534376 886168940 448927952 586157648 244610720 801036797 179782861 986376336 685583493 196560139 529656634 239823132 101143682 149248168 566892370 601047826 115505587 769515864 404841006 317923581 690444873 987479588 460014645 636760624 628953666 663381590 189264930 630658917 759115029 824275865 943440321 405896794 626769411 228692691 234523678 222321304 322497808 105742775 910398186 522931605 527404618 868132602 186868896 949863273 286294260 475449334 158396863 592814196 363800647 709149123 418034602 210057574 638087409 300667889 703415419 869392451 168455349 716686265 778984459 128102477 988315034 277844985 993269938 350799929 910753324 783768615 895684703 882085543 949887941 606232962 467462311 619486188 435330012 265279603 583486411 434373376 174718714 136572694 904457220 581841589 233903078 719413612 417595072 608186235 515134586 469584525 643550910 978012218 606851443 347700858 462056307 478945089 157001411 433988267 452546103 722193503 242391618 417921292 135114049 847698563 254603756 335664731 486565797 718385716 754362049 578604223 401680607 231759246 432759048 670748283 874186371 559616628 511569833 114450867 769726713 305686315 126821841 536847383 442672706 137816744 339999674 428323564 964499088 607962482 412914262 215157593 629342213 969221023 561906016 900132179 478484580 745121820 555268828 584328539 967423959 167066317 508098611 977671177 106507250 275858946 474926176 470193284 171462450 426268852 933693427 423848111 907414600 430703853 664717685 279202693 746731577 216128479 483677096 561683898 801766756 235852682 928087450 734298959 292176934 733345555 132520571 283843017 985190764 954277240 139896030 503932711 615171610 995473329 945947399 420823422 863459971 649423287 227285293 218942038 605938069 646551158 763202499 691403971 443217381 432902022 590556493 328948953 397663818 333653182 192539658 667185312 602200745 212276442 320909392 483121274 575987839 701338475 161943970 245773474 212379066 171120578 975372930 953826820 736488365 159605981 218355804 698423871 376057113 323198964 202683068 708042050 448322760 833137023 341750367 547735344 236890634 455989473 104676669 327234029 592426401 956158295 905644891 860362720 804367873 847237937 319745615 571714986 210810573 300306287 875677966 642312117 666787121 323647578 972154586 670362284 823155902 189466094 479833903 796551890 377406006 291933250 274547827 892688590 388195495 233246087 523905029 238513140 667092262 253938205 750333674 889670401 275978203 997616309 299914207 382116426 172447909 460049036 490381657 624984942 597107340 411897604 231188774 350711738 320725216 589776017 922742639 983745221 162931992 833428484 318441069 152688120 347210078 987467855 195132940 416283571 592418477 961542236 887575192 955604915 988491541 388747512 507750614 377108064 634341569 748691496 965923900 572711216 301636054 678512914 408984797 518062024 901872131 205734900 971810912 533168063 616997073 990942833 880750003 532663994 920353245 778648428 299519520 738716081 268929891 307055878 293377476 178461287 426894965 763873827 613566709 104846043 265590533 139628291 229830088 960800890 600403466 738419041 136131831 100284050 776968148 153008751 525978489 286631580 674669772 119872432 581629147 435375722 817455273 734323995 453259844 287754159 686390907 293054398 133164410 375995920 285849373 241104918 464854698 129677274 488993804 785849627 642128722 601504509 937520871 436821674 306734762 831961296 767556779 226637090 831198425 502269218 698504580 689002945 110709192 311569081 573211179 225249973 425387282 122788390 782731050 141732652 889229467 779844246 474002334 695079034 203208654 945430922 469504824 693806280 116506489 145846145 927029059 873010558 880051320 391931968 129356640 880920818 640757806 997571749 990019865 792408820 900656449 754616595 827712404 489850169 691260323 140159695 876261050 367790418 689474536 387239326 936292120 531374435 402771769 764408602 754966857 904514729 140551451 328530528 229254208 891473482 587236993 731793312 881924228 801422153 276139950 981602481 102638775 279721386 368264125 818234329 421713440 794678832 710319399 370954277 739436807 486926898 589081110 933504133 599175130 399858121 292364310 352179533 237560368 790936915 467040733 307650142 616278645 906386175 245109548 926816028 135716563 544258866 374417558 129265048 336960198 423966413 199319399 521085713 351140918 324903993 684161650 632222260 782831090 813400006 688333399 158986902 109747450 318110320 538642273 389639576 109086107 830942025 339496133 576643272 376991652 493470805 848780863 229619812 514458389 969708341 487862118 920259895 440478766 623470125 509490778 744019231 364499597 358294902 496632384 649632692 183590913 502994910 296039665 254647199 436322789 128419365 105651512 209243469 841920671 868803003 521615986 450711291 278845807 833124726 168316649 624808371 888352102 874686404 249408398 506123688 271481598 900091037 567304753 584036452 140522837 859341593 156656869 410819216 900870855 593585173 360452387 598902162 418610951 981288190 550918296 525848582 204864557 338894700 720883086 137103763 708542549 134864790 552505156 919858292 897582645 656087745 539116760 755589848 494197060 864381811 290436235 551477365 112789595 906168954 285505068 543031574 455769692 935826588 434121487 194535309 598950992 701756045 460592481 150541390 848510780 986232448 865802682 732692599 413592927 818119963 763522573 787093194 876388049 524102033 891866821 684209307 856364602 548504456 723887086 505020149 678567324 494761346 960690910 742822093 624059214 386708957 158436598 591347861 288823128 202264271 233738662 902810709 944513911 584557753 605659720 722536215 813271287 688626749 338131784 341137177 844304400 802773062 835782698 856258286 156211814 440156041 899367498 243135913 576232488 662154206 334384925 146372755 106900277 122901419 442071248 459862974 398929811 603597364 719952459 215038696 547081720 479063126 761663219 983332817 285551003 882409554 742966868 224314669 336796487 261050832 867370202 690267078 787529106 761260004 320537926 462406830 184987961 961483797 376476599 283100116 318677057 889239094 434251899 481881607 786759354 354615968 489716122 682120194 542691360 734122538 191408673 483273909 831576000 499214677 932004450 376733426 593187576 949031094 820335681 963776249 218372916 505700348 146151871 198969095 640822080 955421452 417383016 494647773 455220635 551235680 713286508 863644964 703579425 821929948 725993512 402038982 580711608 946342594 744943160 864622416 424218444 439655689 747654371 781964966 553221910 922086157 553221792 406549134 216615901 480859740 858844234 974854309 139828429 754079601 869428786 595645011 256629930 663609921 662543267 216510922 684363866 381979449 633583686 674865807 836365695 471032172 766550116 116473522 217079493 354620441 121274940 368907074 697510994 396223247 420780999 603351245 325587631 696267618 695789244 251526121 830393417 896265774 291744863 367462028 601182905 162639686 873286750 442639943 929790474 383007417 245905300 380055320 328208279 527725322 883509806 590826977 681379234 819772779 434549905 167128014 159003959 395336982 677043972 637987536 567623343 934947633 814538249 773067997 550501891 278047913 868176217 857989597 922747999 370451315 753135339 885422611 866965650 353181799 687908583 162923438 926272139 484522890 103862405 704928470 163120886 331666143 581261300 211109196 796346208 165673550 437715820 280470805 126464196 659456825 791326037 915287122 511379238 411678740 769346129 726535848 778623686 435671165 795303607 234657098 574274978 578987664 986608492 754037559 270844126 970888722 732575396 487780014 523101028 805448725 845208181 806846603 553311689 210645571 190302971 470034945 848863520 771261596 232446476 236105432 247111260 302913652 653222690 270005415 194076872 334337433 634825200 503454823 925318904 454294011 831377625 698756996 233422478 298588332 142508910 912404444 882897917 424001895 314373059 520620562 691357059 826013560 878107775 127429887 679193571 600012887 177132107 291035804 764383090 821489523 931250504 198402324 434473345 598016880 551789662 383478354 727433709 994142092 459245959 700609700 752563436 769712096 248438714 318890688 697942945 768122196 798926175 494734243 510317805 864261941 142221251 683569828 868575461 989580000 270117421 441726130 673626929 942544169 716312357 524594173 143802858 528226402 528884712 114201609 449680538 424446658 205553591 370714379 104520991 983236091 717490929 103871185 678584536 501934176 461162161 840194544 111235553 859916503 563634860 278969792 763576677 147542290 563087083 432430629 979072227 425694372 756127911 833789261 484405456 412440029 765713657 202161722 760774580 375334333 550875824 598324711 975363625 423038220 235817781 237284513 853025259 298472611 171410859 552690704 412468700 389734334 622817405 874497329 322563841 300436302 274131213 442113852 833068127 421700098 748572406 435845268 537268091 490487337 819340686 502301672 263205551 496836398 373026012 361281180 261442180 341012048 597888114 797528101 503368113 732520147 233031908 318611661 917478082 591893396 546633999 281817588 414579009 963761527 883019416 124755916 638031671 482298014 215120174 617710421 335872754 321613106 868734081 764270480 692451293 497034541 166260545 649294602 886984696 668649448 142934849 640691669 971366076 561799753 170606124 183425280 160980971 370740458 347850924 392768864 425714346 700125995 609599820 712060480 518819396 145037103 100687489 881348487 906313813 512113243 504556993 398944358 163403074 329211988 194495648 726499493 667779413 779019413 534037842 722578836 879504805 209173768 667972618 409280639 768994925 875502460 652085786 578833893 152901389 917624470 156778542 681785125 657905227 180590122 304456017 605245916 388745510 783938466 692933767 994980591 335605502 196889925 553773601 288712302 162573056 235943282 785462660 417926418 583708732 453290918 847608539 126596767 818735548 350282157 789935203 343713400 145294711 208080181 999264903 674658692 239795444 392094406 915242656 769027478 250999944 466784680 632747254 686378538 333970559 487789777 522032762 376109702 768461879 752717534 654345956 885246483 854072500 208937507 353175736 348205447 795471550 362192964 281293141 936935040 237520624 305609299 862930627 970204990 904662238 218849455 167998249 499354327 419802307 815245828 668183798 137736628 904988549 847133464 871383894 366025739 552003764 924167756 790429983 368577515 356485025 410572822 775350737 339219198 342530269 149265110 874915176 381728017 866428367 262488259 105145103 553017671 958045994 294100629 534477408 589444930 318795263 995160760 926278287 226092299 454384134 887294674 355081674 399676996 549737034 937747998 119756803 429903945 607426392 677585579 780039396 777750848 425546878 608704353 836337114 418786906 755745239 392230479 629412783 847429364 440147415 538594525 173991487 878914260 317320290 833589369 110554109 974177786 438497141 253031896 571859866 536365310 907192918 826316381 784488930 204202336 226014522 735283977 214951568 187252522 927986944 125257450 687585777 157350703 176742882 107777422 858840176 371378001 847538613 559769458 351367035 849096869 906346453 523705462 789705232 499295292 712157362 363242314 892883220 983236779 371507940 920934266 787743464 905122024 745859904 999072822 973937243 427370344 247367725 425381947 351421563 107715290 237280246 344558478 218912574 764658082 183812000 569263527 616844184 195670979 765978572 609590546 748127148 287520221 700037198 373868361 997656198 517977828 342033005 758370784 709477977 438267278 326883018 630388256 167210277 663168858 695234334 885740693 784935659 207751213 762497191 682020691 202337940 557271333 612437706 314778512 186717612 959786143 710014220 216328560 225525809 742163985 678741111 600769177 533351167 516166206 398965422 743361796 586490589 508689837 559925939 540155959 379844305 617180689 297130622 294689388 783577862 319911394 982987344 676989389 600106495 812280058 484557831 554624511 590038679 324324854 854036209 485423422 821583096 783394529 678386166 613048008 422739360 482076486 293662625 809938156 549448987 497831589 797941245 407997255 573790350 373774143 561294642 952853185 494374829 316882878 309901360 245623804 907924327 664914769 977303684 715447209 801199857 121289488 459393605 298061759 511308216 454810269 787602854 335329579 189393258 842343308 233608215 454288832 566999718 416404852 795368722 982510039 982212663 478170546 434097790 134737891 251595857 762002000 102344387 769587671 957042293 671586836 427601608 736631719 674160663 768136562 853065348 192429831 746578949 207181967 793635487 281085515 608552733 620921405 886605463 996773820 453616674 119227565 172303215 355815815 681083577 988638510 191339747 951998922 543823487 865931709 948501043 365365229 373168382 178053011 142883980 166903769 320979092 229114703 160301217 638435515 728153749 982312920 615548231 350247912 338819768 598882660 827619453 131779643 629582507 881452206 739454578 862259995 124444681 828938160 940581449 570539544 954973023 197323698 334267201 231576552 282000707 494141975 232741899 571027216 892377005 913148636 100647479 396434780 399871379 957942457 614194108 911181222 406793737 553983088 159294858 366115629 259557063 233768856 339047143 342169319 704645638 338836492 801587161 827656696 932341668 254562417 632940539 766977942 147992555 307200237 734370204 739153059 742052035 482867750 932709049 634425035 534537231 758362268 768161664 307124286 671241995 402545373 946768489 838050085 116110759 818564641 292160447 567655048 234329517 108604082 483329916 255929604 823586717 698385599 522134864 968338663 326407516 247759363 909591854 674974275 313884348 605956593 362347305 503681784 483055926 841486153 475499082 458518392 173781379 358138087 173303019 982393236 958850881 554864355 576485692 633077894 594517946 702038826 645338441 379996312 280245629 840707221 894971313 417087796 661727733 537294912 652614708 972985331 525042542 555321237 667442352 922272996 878086498 246388624 548972510 937158414 410020613 562091398 708445769 658428343 454296346 290650371 874831816 594935215 488305954 540197051 563939657 458465877 550217575 976867185 480030259 594363615 424708802 954187638 523604635 685372723 218344475 648810815 611957660 105449826 842227997 753674618 218639209 334915940 564809139 574061465 320898365 505247959 733504028 525596153 524450774 164006810 925431473 747311616 298888617 905101755 376774413 904964862 123437120 943667996 308897072 731202465 141185818 351230072 194547448 842693694 561364683 572473990 386639254 399969249 449079214 419529755 883934272 466955909 388716068 592047645 495169760 688496033 375914168 437267361 150996854 489755816 261854331 239181140 506750789 144153823 212496159 371129464 161528716 242937787 503807706 777089406 281403469 480514430 960343125 384089553 699860521 492401362 862624649 870111717 625966361 251702180 248618530 875092922 334865970 943298664 154427097 533999280 801548876 840185772 211338660 656523369 272793395 854559304 332520475 320201479 549506981 623745650 888672729 771585811 695039994 463973672 849208130 390671029 537428673 931418662 746975449 818912241 273923595 222730540 762881825 271269716 818286061 100751801 687650573 195487474 424601801 885729003 471363255 719094813 500112908 952247722 539988794 530584247 928610224 918854522 265899027 347805261 902419869 570503336 197409844 875262525 501442081 451265022 588418318 735386819 439434865 222018726 895161065 978757852 198498626 976759742 580641855 363341048 362422244 883853150 717464276 813935937 104723122 619213246 500141552 885991674 788070882 265111330 141080951 558978304 339953983 501924680 342869774 972890644 604970645 840525917 178949696 339184069 134018297 554138729 973990255 487439062 706623753 601559333 874204189 465378561 524335436 654155169 640134595 191623716 182844355 594035872 519448950 735529164 127674276 983847198 789031703 296491861 888001904 989191490 772270063 686657245 233674112 426103021 755351466 356107069 354759744 764086214 946352772 899080776 583616578 846029125 355243412 954400794 248135732 170042268 603107621 993302241 688793728 179553219 813210125 926100118 213887060 187184522 258954386 572828730 256465071 483352328 869222901 987090956 767897716 990287915 339578596 603716339 778752284 701917623 974648724 111135340 433275523 418105401 305272230 838680958 252813766 936682304 378254994 306646702 959969911 715617036 690040866 688911184 495634017 366035214 573775387 973358471 173652617 473903025 112560407 490008236 670695512 605052624 974203963 924132831 826200739 653049834 279965659 139076340 614127523 123902890 703650649 134923323 346985520 264321852 360828006 394179104 442997361 378976363 178259969 469877316 990280883 418142102 165725384 203568797 861633342 147554699 159094798 360094409 543924064 798910570 452482618 393089262 137476509 767921881 174942370 489484564 606464518 652102961 154141338 914460388 527748176 101388143 172342122 855173013 442590830 401185976 923807581 414188813 376201863 478748045 763717465 267441048 620474391 910636015 372880399 400255219 352661201 936930584 178483619 924452684 264225861 303912383 873115726 276460360 386432632 809986611 396609388 239997628 776156495 973251670 895009904 855551731 683670791 411392409 410958974 454817285 917095384 619504876 961309938 608402293 544583884 747832572 839355943 400038454 476247372 473876295 527947664 727634894 308961877 253967960 645515382 655714272 361759392 239093239 761067400 963412660 921333384 993833477 849452631 900493694 515329187 995397615 874118049 945144905 633586528 675533110 436536929 165627075 427301376 102807536 728181938 442046032 262903635 677359276 442567528 203968126 796617350 321911036 566722793 635685894 883885395 349048007 594125649 802360227 194310786 878316166 146138901 800807247 916052506 541584772 466477743 746111178 400106270 273857918 445092821 433954058 914926350 855837560 888083302 704654905 794396954 865092217 618388516 823698892 541262215 462174573 388163418 100185800 375607627 532335647 600598428 685445340 728558774 815701793 597999507 984971229 415442824 420577966 102004083 855419457 504067575 962914372 233118405 444138235 140200942 323763693 901925803 863540444 366217580 386806157 816257294 472148524 163473952 691148535 210820934 976485598 165823137 664798410 314806192 421528285 201429827 531355560 252202211 546087284 331343224 693243618 716522179 361652076 408861863 257159035 713014386 242255826 861222542 274198852 531530118 998752655 537964698 468875503 673187016 748781225 332976323 962261535 884038956 844179976 509694968 904949999 764858300 380905230 339452000 998759844 962339151 562598285 688507931 696621239 773235014 370065909 866450714 967001207 184319666 458030215 776871925 100143785 972599642 622100941 553064293 895411973 113697849 349040381 894085420 435496192 505123250 918272774 773724835 231733899 630420219 905860250 203570050 464986493 738634592 144921643 353475662 780586711 209355776 607714564 723594887 558913535 872321684 150757465 260942386 901494708 673510046 942296756 605386771 719778472 502401003 449238992 528773675 610462682 521669343 919217009 760500379 341198614 727953910 944094710 918588714 806337950 590478460 515251991 253976744 501257997 502075982 672681739 483753772 533621442 967905387 200578204 176463255 170054515 310063411 267335160 782880566 616705896 265391465 947517269 750804597 341592807 101447739 150771146 338655207 564815836 887028868 709612739 209662807 398776449 263029815 894556809 862593829 299726358 326493594 215627603 603283635 334667546 655894104 823437397 708558042 647421124 164877071 504043042 996099005 251987531 674837885 123006492 692026496 487131278 943715420 174214030 822074456 702686067 669497140 337484122 717653287 103321682 253031886 520527779 489311634 419720659 680166699 246586721 935055163 115737217 395693704 678524880 632763746 801948685 167131886 338001228 530256218 567578256 338284738 390638992 226774249 808403042 856994589 790713870 932675645 335427614 739210356 378451426 697462432 366800838 143867698 200643374 498912260 950460261 373352572 402606228 505356280 248815447 213766357 474531565 537441886 950565752 730219318 301633217 394947898 293709361 904457507 895667659 747824916 455946536 325585121 981862246 108071207 523419529 640201970 465267508 174639431 778859746 743057840 125293676 421267303 439422238 646839502 483326228 312462809 830318246 280338573 413542749 995674161 143177402 698018466 374889259 818247800 161483477 965710436 631269523 220141173 410758194 369026917 638811948 975402234 754849180 772405924 689474581 235999408 968625508 528248024 597079275 952200637 339147309 209153639 527666212 417931681 322387096 971611938 471356633 203365843 809603535 457769272 208413353 319131263 866517731 220251539 989236005 421648058 977872789 332538787 661090150 119405741 821076642 597203865 679788959 100905030 125971314 173945429 587267999 184675007 378076802 325595808 508240899 417538227 914524993 860173501 687370303 327916284 406197317 510398973 736021438 413022568 155228737 751373064 601442217 954992078 993793838 208462681 964635475 673260756 219170129 571574919 430129496 890251607 583293991 281007598 207679533 997171143 723907485 478640510 402862675 896908013 610770400 719992708 311885923 482337789 561671201 952327080 296714618 837635436 260584257 684955012 912185207 977913774 337790322 512869261 343512524 298175446 231083993 532717448 609517066 373371799 731513014 782781100 381178208 587422325 800106717 544843615 740932533 714702552 189687607 912943578 378957286 255482454 460144463 223867358 952705228 486763377 211161325 912346203 373017249 811124346 719134346 573467613 146388605 694986051 118622128 314415020 918059186 613996857 172844193 427980609 154434487 274532427 360316764 453798344 975920759 529034645 625452788 151579479 258925360 352097047 101062289 655520576 544547234 920285178 213797666 754660713 568571496 683707298 851397257 334435899 743515127 864542767 242689079 245389818 408390309 513080181 212563953 883308060 104207786 399397883 449800376 591586374 782431069 374434690 332664802 299200132 707570382 743303751 688937335 375445421 622830351 177507743 904012264 355792668 963077695 256148359 547164844 313353282 482207554 887182227 552923520 209951763 855051900 191230168 667915950 941037650 369434210 867672210 837031581 457520978 252187062 878775883 489658604 915031505 210655410 572552407 730234787 591457118 433382965 627387671 397148515 790257508 447087570 676943054 977405601 722882953 133032371 432748496 747558477 693889396 951542868 198456689 400405681 158754224 151676449 639340741 183151539 595154458 586250097 129285646 794189972 437879785 155707552 684141709 852554175 147696477 771125851 638579332 133006622 699741954 945128958 319724955 510787959 780301719 197385849 106748189 961375793 559705165 897404268 350592185 605089825 226502904 339349673 694359442 154176290 580640759 870712544 527559392 849808056 135913015 858840630 714548895 919574405 349357165 175844422 156807840 468177655 160835702 380379332 933868586 691362880 324823643 575617994 656501403 473151027 197158310 967994017 695408198 468099068 969286719 759355131 270662471 156491847 228927643 160844968 695300637 393104433 486727592 993614420 566928059 548369577 362736606 585388831 333504386 269368429 310726810 318476257 660120036 470021432 782205491 507415933 213143560 975178907 930085144 178033661 461463550 569781439 886509744 259162206 552591810 341194454 926840879 239735117 916820477 295866392 892739321 950572128 226411816 868731285 358192812 216900318 560737344 512995353 494148298 615361751 961507409 217073904 628430627 656965332 676838981 656566222 495732139 209221841 172680285 692142845 219433898 122043306 422965123 796486980 223210189 308332989 513217003 712244364 254790485 480021801 991878150 805265729 328430201 146533894 444479677 815188885 719543762 918455604 690198651 833324736 487056260 988970438 577572888 544995933 650309215 826695378 831211130 814636480 240462037 611533823 579182719 817817977 365664418 728941487 510047134 141125806 679602318 986947283 505030621 829172679 840483914 242379697 146250831 237521675 549373315 580658160 790223206 221565175 715589626 681171063 685718962 756129713 471406274 572797785 941755816 646017669 212173843 429100916 673907254 785270220 562934523 623028800 409801067 120896807 318914468 838289762 425146521 317496258 428389698 926972164 122897619 765470106 982879266 780124820 705297979 539139391 172705827 922220385 931051807 482156501 573440845 466656416 649802779 932863112 385390896 781405865 186579635 948412858 298947324 137096169 239394300 649090945 231302175 685443173 379482543 179744672 921132078 790732209 427487139 226543442 420669602 632832352 588216630 649397987 713912637 443543159 579861419 594721578 117288309 869135108 347091496 839739459 722121060 176485264 553839852 171288817 850014241 395964290 492837282 618346870 279968011 764601670 745999501 864636238 176014237 275418791 670098542 983216517 405569378 600493642 998608336 304244100 837275761 573058455 525963718 693693893 420645506 662798334 599741850 241321374 641019625 182416017 973593629 595112838 357321042 851421545 225805589 919882953 279110167 973037611 364020081 891722806 910042946 961082021 848222086 775063085 447751387 123600300 474517548 915801689 743069881 874150327 699505009 940173839 301214406 112798174 394637931 867791618 318162650 526585674 863395698 937680699 577101648 401527930 812474036 869397242 478010123 148965160 679146391 281857457 412021375 630639742 574577558 451070093 916702957 660592277 579436749 835208495 967071508 814103427 138452751 648402729 864824502 571959715 667455493 979648727 584915206 300359791 899359746 701636993 833835544 413887061 147073794 919670544 531119910 860994230 484060939 301133924 587244808 351540785 684655710 237544739 180978238 461327833 145072573 405062652 435758537 187107355 550702302 314087837 106682279 724568882 982879592 416069783 215592904 767718554 732173719 900030010 201710742 947018598 419438925 753224576 916175467 598614283 187369516 926136295 594799801 820497565 795994734 327612173 326502014 131223561 157096859 442497407 206270743 902709682 184682192 609598808 362500255 415634680 825285402 101375727 535328011 454347003 927653899 500615325 795864131 594168766 894784454 243510844 367721012 908976563 130435321 328614659 226507303 883642064 617521858 412452339 721753826 133815224 837615255 630017055 162115796 711009510 937493891 858458439 116232607 390871326 500101879 399270555 343063319 138761825 286824063 374226524 145805498 942419975 786011381 472770206 349580668 842014168 535389948 367431750 861557261 870200626 869333380 708858887 192013955 289627055 468991335 315902823 940888399 562619158 884916245 400008063 215304106 268322996 657722210 696405891 378091067 570043069 736422346 349907702 966715387 700604766 861146620 830542767 306538588 213062274 263426484 949185950 596206228 652998410 870811271 218154737 402884005 569748801 308930873 715383698 183415083 973870691 619308376 227395197 334806131 765192781 393353232 610479299 124644530 550543869 903394854 268003302 115295974 544026216 427919438 373992452 306068314 166531497 429380210 410806072 556742762 301073795 988865367 451590279 938608087 459632250 554744562 888789144 177620130 307493820 535733855 758149847 511826001 492395232 972038491 298305202 256765434 169143597 124131390 402296392 736942449 129290906 419163665 192689209 719718648 951455860 664543421 715777477 545420652 735355433 101344008 110012176 382337519 393610143 943114777 916970511 333906626 257314946 996343768 630572928 572309607 445459967 731755781 609998201 892540847 126593853 812318398 754829766 983470364 412447948 873444938 270127372 382050384 336905516 456058553 140165200 124412820 234603944 620954009 432328608 130209087 779965839 781362489 380196723 725482853 415880323 188931964 265591942 181953082 663089290 871268036 397878057 750475401 542639907 231555393 408689154 566229294 786770919 411635336 493564015 493248462 659179821 766612517 569759315 738223215 341592250 165997020 106463452 461556769 353800646 856381880 802637974 650882288 683204872 298221005 653915625 797721441 465566644 495443913 461580391 145403102 542773393 524340598 202607984 708745037 737303756 289941299 477745359 204605413 750382005 601637291 308674110 322770242 594058655 132261571 929120191 490636837 354531973 545992066 747571924 283263150 460543916 580095225 640442329 705072782 801383370 800870530 100273908 590241362 669528707 810936608 700722015 464560588 329426626 594968057 359552442 421761079 800843676 692989234 467272913 236307692 874913363 318348252 828184813 367259220 387779010 335999169 622267911 671130945 414262073 400841451 372878211 867991487 647499223 525271997 629647431 270579665 220638124 951153432 442647141 275051504 639080385 240757328 838471915 846052456 503563002 212012047 645091393 281629174 672787713 795101497 175530326 945157503 871001503 928782707 236845846 418659959 252399769 737918853 752870949 406312876 106609565 443243778 384276345 675860733 596472983 856728979 823627633 408350534 988350060 592343814 532463424 509009017 663923617 866977687 816535730 708694449 151152555 564951788 606871967 142102295 711889879 622613827 389023472 521274720 492050473 392537207 425239402 125137539 345455574 544124109 374694319 463857625 702574365 404858613 824244208 149580158 205150120 819181592 533355030 143151917 493462488 326048932 162717832 873776491 656633739 241089272 483467845 531455335 303922456 990269720 879873062 522727768 507183005 394653642 940129239 950750681 849990797 198919181 971559103 954381712 563329508 521972702 955398258 617289204 359611452 566269429 888961056 679899392 774226097 429148609 920086959 955283247 615375101 804333690 507251684 700007675 592613892 521796677 102701539 294639417 633413069 561165502 341825553 828217373 209664216 503063272 366118758 637393270 764563018 988204770 256591608 604358671 722856010 700447328 452733401 849641304 578918750 960355987 900445423 556140154 713941581 634003617 163391732 877547966 139940080 522545899 197414002 515790683 253854118 360025405 971567809 784512568 349016556 598002128 173468201 352244968 449483568 715405552 852508661 313256941 299279538 857368820 759867482 154172113 188065787 543137424 864820725 103489932 750156937 436660512 289027491 714170496 759930829 334524868 879349089 785864432 378087771 444768388 826461223 294894189 382503993 304140955 376997572 748003482 561010955 304140021 585251512 277411991 126641612 768882117 371504573 714267714 293232353 797643413 651757440 543793027 311831839 400937768 348232416 864510672 599774970 845078142 697684100 705587465 889095541 205164973 804499779 120574850 328741196 686928238 410771126 616478610 144313666 467857766 250595177 576749983 871287877 237601382 797796537 484804024 205669515 631453312 397811144 563688280 136967149 497870176 255874149 171040853 683570920 125740847 584096171 108756795 140413206 869577951 317592725 699149783 694266353 438732441 338106487 601116650 746665747 572517201 803482241 809035824 998130348 135530349 565051179 714227699 555314867 167107182 116270795 496695140 305500900 946155626 432803144 685250156 444247948 272065447 341617383 888412259 640665884 556086219 439291737 446681093 206408993 711444505 374237002 948381120 944744328 822846892 820244992 476424600 149951836 854061258 809587674 350810913 802776991 988176548 138439856 655620738 275371618 326265697 700332769 878317245 300010400 226347500 312925099 900237022 684116718 782831363 282646167 779482565 914543133 619584916 692920295 380130007 541981561 991699573 564163272 135364778 140005892 778385330 985333054 960459258 663427293 204518875 602329027 657933199 553176550 988188945 139494852 830889882 997015060 347477813 654054835 678563569 142011395 407714499 981157620 955365591 603810829 459304497 580445912 806510502 103035838 261208154 601430637 118824226 518186167 323829369 193790869 899842550 457424389 528626454 458773024 530380640 521933021 580913601 125470293 639094712 841110563 853451643 484972628 683786191 964332093 281722331 263293828 907043360 174586209 832723458 958187219 827179854 724391149 351588931 258101585 214380863 706368554 751570171 633252604 305954012 106627604 804938288 848266287 688490988 408729532 318669164 464836959 260874111 709428918 243373040 352707961 846074582 900305757 840527146 868611739 655645438 274142159 228531624 831734084 685577028 247772957 354955600 729796495 697227180 971446724 199381378 373350529 667318119 286279035 817871962 945890048 747479727 948841777 164891996 867979594 919698127 370253150 318702767 221308367 706777036 203733769 216383761 728726682 844341358 459782240 521051329 466184026 103560308 193889333 431339633 957039758 943480308 788808341 894467500 603285228 255726324 379962564 975612599 616662110 242037420 289282407 989413926 564745575 509010809 299364062 833033857 906527458 907227314 470033787 924020881 932241774 241334307 275718893 518621928 874352643 619386087 561775713 726936848 230328002 601650651 659905361 416419881 719979483 117529765 208300184 614582964 813090034 253059883 240948176 364411710 794820518 863632483 399557727 439430747 863344860 878855363 355952286 781092753 931567385 652535154 859149835 150980734 544299019 316316488 943387218 178187592 327160342 238362287 102365215 415178161 649579427 963819493 214230031 761445898 217562501 511569104 469367170 193177854 324123854 801862914 635021706 620195134 503391979 366152662 685097492 451461111 337101246 843565737 723234809 686446194 208492667 445926834 981348331 836191358 106835390 204958639 760929449 751921017 823840104 375069958 686625153 479727336 295809968 768706926 904076780 988309138 313004713 244146731 271302852 133597858 948564100 187904318 763491444 675100921 235919993 406081807 807954857 955423642 121523541 491277218 660686650 355623541 223318819 487590406 594777235 816549022 370221111 243848990 209279299 739434410 134946419 927781072 418754405 235604184 602662385 709987364 536128860 843368835 703367540 748832628 583037537 543254216 639952447 675207323 239677454 824066963 679277894 335258939 753294164 446691383 610171929 410560425 408770427 711252757 341499750 441833722 837784071 774268191 642374654 558768791 128185835 548647840 699970229 483382193 447988657 218805292 686722578 115841819 387971728 173924615 118371158 859462563 445830067 739159381 550693542 593668673 845605518 207828012 423213488 843827135 941262171 697353605 218609028 469699521 455840755 980262608 214236180 403861991 743237820 914539285 440964126 713991367 687740943 345399337 191180455 584423987 654522526 284032377 187073507 712873385 408886154 673963623 926016847 127454444 847817099 303637388 332290572 425250840 767143235 573556586 386723594 471935969 414152903 416754502 174814585 470178168 188722491 146703521 400061998 928025440 774857538 908181944 977481818 985794045 220900564 358139407 192887593 765722612 648027173 252173895 314008475 615311206 131729492 877732104 631372781 357129713 735567744 650700926 104910237 907802411 108808280 837756580 748932077 125526002 344349236 918186858 707197011 539575969 883675615 848912140 576911620 920209306 345840723 874407557 618685270 588871849 761263098 230295652 252465309 470256420 157502071 470903074 877416554 727707725 781416532 345017971 477191107 934996471 494491278 179483501 193673011 208529840 211051868 950357483 882021617 523709083 314975135 498835351 789641626 288086283 279382501 446227743 866084033 720715065 712929419 971898257 342853262 549500026 374388087 630349394 409214884 908652694 945716468 970645546 701746809 185295473 774457152 762033296 695021674 340633559 978244429 469610206 399321177 425063340 787575524 412241568 991827761 253711432 792536223 794027108 909740774 316582846 428853684 899157322 282293629 960595737 670601264 813766553 974062485 448947231 483231004 808883598 391229578 747543124 586994882 656953024 781458632 932247004 924305826 507768588 716243923 648908798 516203987 228870947 331477228 194983309 745369063 728546448 596890801 205810846 684686666 586268202 608459953 124290404 875070162 888419932 567672235 770149542 585846160 187251185 627929207 714490692 453718666 995839570 256126357 793111021 346779012 389777751 662336394 870994025 207150218 347088061 514317766 426491156 552213275 721165140 167245638 546110241 665742351 751328377 850820343 843826801 130722383 619958766 850646120 879998354 551736341 335722843 508547207 196850278 728412012 831923274 252542691 198884080 139112301 375040682 943020143 768555655 177265875 955266448 752371631 720284452 348332406 573023445 976656866 223554687 984628700 333103222 316668367 768424513 832150513 339476904 237647873 293139258 831806709 456549600 797267759 562726767 288015531 180642865 889546866 291753918 154805411 228360184 440457792 856247120 431556561 960869352 451660475 538726858 261291854 493083645 817350097 791665931 897000338 857706211 506168956 459122221 710825158 801225112 522414023 270214727 224045622 871908163 575163560 880156792 181797327 915623382 601912453 206152474 600697371 147145761 233263943 912735115 100930731 178629884 927365846 413424265 869212770 199955155 695508835 193070964 740167950 831397298 479390345 104903530 746654949 636447585 330358934 801878147 234768146 441371907 292659430 654204486 546603266 421851413 438985165 637057537 433903454 936608507 673310941 473400987 971114754 939395855 297000367 734854797 845134256 280692401 541317089 472939207 504807425 710621991 683629821 969439689 325366717 302235331 869514590 855500925 345856309 361802126 890426074 193118757 138960903 137920868 648074024 702793911 358700138 975424438 993812916 631496675 300867629 141193698 298200784 443735095 770960824 312581916 605818611 953668730 676882284 101850615 228932769 376665825 900421843 148898352 777221781 975396379 894958712 194224403 302880477 123982300 690852674 356625759 838023516 350450382 714525039 775911635 312438898 190241112 434416241 403641898 839530606 223675320 981333795 584250192 929839697 548565020 155883418 516398837 109429073 238988125 274077657 868698741 727036597 870000918 953778128 958101959 971535436 368255040 718496193 215241688 184855014 676364316 177750862 127051954 226633670 904258464 332421440 934865024 488724385 841537603 267373462 847241666 332045646 974437270 775154646 766922833 539486069 533322871 411881791 749949661 747339042 652083779 388836852 433162726 469938574 327928509 250389472 392964340 121005690 681069896 809258257 640569817 488624021 922562537 118828953 703582988 871097894 197575540 345890183 884100894 487315745 775988576 685319380 783633036 483646904 932085248 985699234 103476114 375918606 783434815 255835123 201020273 748002587 584797438 985647895 458241751 818427090 274624438 145654814 956772374 485492410 209187019 915806937 251865015 142991952 680531358 795432891 787715693 891419323 491905183 889312159 839803459 500888190 705246927 370389693 383483030 452445933 276532344 485182626 925145583 671173584 888096889 285030596 404811585 704860675 139892962 101911849 869676733 664298243 340919472 479402487 275892008 768232160 782398627 319177313 386038281 901450469 195888683 695999415 302371901 444274999 224073788 863173170 196294342 464031387 396996933 534156590 283046725 388854921 506567156 248749155 484491027 719369593 697269146 142014047 108028364 838638079 539522553 176484217 224592845 539244527 131199131 380493398 917981526 355466883 248418224 276761561 554918414 292847928 176962654 593434599 271098129 643611383 116737820 349925053 694787329 556840831 221513489 217311447 471398695 874628777 196348824 188026439 263554358 676309019 444740909 829238484 764841235 350121307 145157970 799325274 230316753 256137640 456429483 120900115 857176085 202444542 558930465 648592233 256903377 675287776 556678847 990026221 667670300 242178790 955715844 555611610 501158357 812214409 418799113 305423767 112364191 709676802 174186158 733257517 822027282 879390184 530737353 508417467 388155567 704964037 409826614 504363615 919154904 502092816 734007741 614074782 200365545 154119510 750411278 123750502 265601350 501491903 198513822 605713446 391086437 166776145 314867657 821046425 645607080 205071881 926115406 849580431 389111236 915050091 194103365 101357603 688310195 521219559 102722235 966326439 351808751 331410016 161988061 648239687 702888609 991396434 159569830 500050175 195916153 264802789 915805825 170709924 797290780 130912827 957656083 984262051 704280250 366934133 474136889 427384112 750826008 704219596 524639823 948018742 584994408 957736686 422406391 846270582 713538299 721851839 735249962 564555248 535980651 788420984 206240498 340775972 113049615 535208680 773091922 766316143 883909346 959949795 734949487 523034119 946856664 572588544 777620444 902069211 351753185 537716857 315336942 618942939 497651338 763947648 663865795 710580162 944070784 801321036 147232140 378555395 346339809 748899097 586807332 866150877 736801266 587836874 730459437 592698539 478677373 670530174 791162565 936750811 545152540 521407334 263721633 883977258 468447363 184434766 387463676 194818957 327004353 433103970 761150150 408748644 387357990 279724742 756308379 623244377 621675412 199380336 348437293 926633693 131430209 344825877 880391841 606703362 492356588 310175809 590203473 902292756 522026455 941172595 898696654 997180328 572795963 510320134 445062004 341274932 596662168 407236922 668928852 653189686 261823069 598929802 354613041 485909531 830096298 894167252 639134198 643228173 406576946 995368020 640098292 168342992 426632989 969943703 104544734 507791751 428350948 187635696 550355725 320223813 636673227 143724803 339698707 544774639 775976996 246618877 350829247 180607502 579536043 989455337 964928972 802591225 629019795 995505195 212864215 822263353 214597432 643771727 188271694 675962605 331219391 735791521 699689602 610036967 559211370 600612981 803268494 391086210 541850355 863708696 725338278 328782042 653054449 624447318 968687733 766312002 849059322 752506454 206435530 773326064 722989376 582534945 130390621 411215948 203800623 923622554 305427056 724742010 893578240 768813596 510586723 776327652 601288126 758450960 846261549 439095174 278566900 319532740 787474710 105789039 389207358 743985717 561087356 531140756 275863384 293041327 586028653 265066236 772245416 867524359 921015646 568959233 915648669 177677261 578344243 424132064 301754612 920811582 333946871 454040080 188226735 814336402 757266569 664411153 471825754 300234804 343629308 206853484 676893330 986401317 644306170 226812933 917099620 166662032 631453283 891066125 296407305 948259527 710690558 441448927 442410753 160318166 260908806 167015263 579154716 937204770 765270524 998399637 791802539 236568355 517883997 295154125 624382915 149290196 545088723 119432558 257393527 114729071 987889930 407103088 590722390 852643386 461404667 129894055 524842337 147106505 568224552 761710453 582807861 381160815 429096873 893907410 932252068 812305121 595374768 593664472 452649576 572420289 229403435 561601175 758621544 473179201 373425215 247057523 497588307 952871547 744192473 433009026 292739671 893631222 199720185 690042898 567697769 544513760 863297986 838617485 804766002 574733302 132336811 859071122 453576815 394962195 467157374 449167817 260657002 320100422 836326566 800983093 336849470 230403223 975350394 689597018 210112289 524518251 656914340 794719678 120058436 578606902 865221776 897320227 488604586 375496501 671183028 634543282 818896878 308370075 466312857 617759768 603326267 892872141 953612950 696919636 958100400 185408116 486790416 317012971 955682518 298966251 764642036 154903677 251090024 916060237 787957988 202285731 581709288 161439465 370928025 865453251 173666107 462724795 392463289 607221621 974636019 591489653 335616414 874918413 837932761 598083055 383241169 643521688 652618839 515321951 827961350 547916958 276204318 733457974 940479141 459684030 267663378 630604495 382339652 327946338 496704281 950205146 801385121 640533761 373318075 993082711 953449622 867283795 317477922 267382142 783809182 554545054 474975699 236147783 443056626 513900555 692811291 389664060 741721910 661669285 842281004 750135091 427546463 183924667 924627368 716300609 805023516 107876601 176659228 806141208 603212193 653320598 249368954 892058495 278942336 992957820 206330317 654543967 938578549 167706020 948048464 364975968 496484768 997737580 799545381 812782669 963077862 765236773 700464948 778014535 480044514 953460148 868105492 720001152 630660494 246459476 552279967 220998359 574080023 673580049 423837173 859170612 652674641 993695649 315925213 137938512 899164442 460510922 207856206 377520594 708097504 802583407 763142336 730593726 417656462 546822869 784431940 144954186 664522031 642702237 979828236 159777909 289591287 356177793 236892771 585959126 606281534 532747656 794389844 131441082 332247423 409089784 850694495 158340408 693698872 409297259 966959172 196941783 785250691 406848925 141750301 523724812 887482864 619326104 437575368 878652957 626214101 697362186 482347697 815637358 935337832 686396245 968257146 850147826 133049781 631812472 306102566 354683928 716027191 945976666 268209453 152405029 165359597 502370762 814140558 244702256 509562577 397485356 682454185 464820068 393515093 679102089 533931321 156255195 437384149 586893613 472941590 118121801 925657092 675880360 834835786 815127292 350343769 404837131 326134227 704978137 881473107 481360288 610460999 623155125 358002159 337956556 620128103 916010953 386998738 116764668 661397370 899859776 872423302 313278361 539381738 492627404 126902740 352482667 432501168 766076090 160049252 614535381 566143540 188055595 196637040 756827274 274375278 734086128 266629925 718357265 297479356 242596401 899541537 954591388 999611261 916865946 295117947 770639569 858609186 351803600 856099094 618827857 374928347 845712374 356335685 849641336 429435684 287761328 591243015 921963288 602042743 421678877 271498794 258761620 584255350 133674445 414296879 808730069 845334254 140541167 785085705 317022323 457615620 410858869 945016178 212021148 703978846 157000527 617214557 111486320 255559035 741680176 666607183 625448927 820595933 566859987 720574219 894342345 283852941 798533826 218903394 508901065 131787865 931992913 252519488 812192420 239665147 738069673 431458644 183236577 453469646 815571168 529178958 301748091 639232735 470980494 376885927 351777345 541300757 611086026 327395025 496886755 236624805 369866423 468638346 666189390 955737386 539816922 974878936 285902779 735715875 821348331 681605012 722447668 978385445 766953608 551384159 665960430 100616004 783532667 245186621 355885413 189912168 237615371 351850164 264728256 150582910 120775439 620695247 461057029 394933836 360896095 831787826 237242344 801967923 618456169 137180398 435783360 278148131 286061739 355090435 735951001 808718310 488823482 604737279 455004949 528326128 840616254 710884117 162505281 763216984 792977346 172564726 584127429 130688472 536012449 944837200 182779656 700064365 282416734 532122974 405387045 311521111 564370976 423126895 897862855 885539992 717836292 146331786 439478728 236058898 498496580 698111589 449494802 833724646 858319187 372485708 731191909 750803319 209969259 929961780 787446288 568596185 781929826 909571928 219002622 872350883 985823837 535154714 342060875 782596922 994654804 385195447 178977847 933457371 377024037 277824933 626080736 159932398 472073115 583748515 844334301 105413968 837136406 441126719 813149161 945323088 440770943 129703437 472655183 903099154 925097203 681780699 844508554 648922529 837180691 782799142 884118153 548499044 742344902 316927411 914318516 291385593 567204895 252864806 485398501 155567597 301795594 679188359 650000534 183685436 601173325 655150608 235452114 745214753 858322839 387700437 111578551 501838085 401658999 826197659 180785070 938178566 107136997 897866702 162421743 891477193 291660014 460652593 574505310 246481376 320004443 271830409 908293862 995433315 161320794 343370502 725160307 359850744 843033389 755101677 626569841 177843014 794388415 958435314 964896886 225574015 904554967 311203819 290910554 214834329 532382541 382923283 727892117 992599456 669724596 724959685 379606830 321106919 810400534 764736988 753073344 597927452 947832410 401748251 268953996 551653929 195057734 312915206 905108154 195043515 973445385 421822164 760808942 364676271 124934383 360642336 245158147 950862350 907337084 424842878 274729273 292014542 793590864 750264433 385289582 679734869 435633432 747515066 507260387 923584890 867790353 806294468 687449912 674492892 684037249 515089368 433482284 910302981 120293293 654354260 222451336 377238245 252779226 732932211 428368817 736550543 530460572 714329555 384550957 404861380 638327217 336237551 220178045 343461291 104310710 261785006 647321306 462235628 804063889 972795608 855505567 296665214 168038840 840227142 950265058 999725139 320697656 817182568 430482049 366249305 829891663 656468014 898215389 426430497 978474349 150575744 848640692 758971127 764200874 942325492 824016187 758740052 538074645 521280325 252603796 892337673 415922584 913466728 698325431 852186586 750182762 324379176 668181497 487815710 141357614 909600609 953336631 691726746 166142813 707105809 915486829 248105136 625861691 969289601 291918037 586918374 625297999 284794043 538236522 441728444 975791984 778066010 678756502 651508853 427632981 571404324 259543734 685435610 957096781 194574362 449382714 501421896 361390751 977228252 674983527 208042573 252082831 189673127 424270626 339720130 339928122 670737718 946480406 164115590 575745169 277749163 705927857 251030186 955286785 719395721 278716428 100955897 563250326 238003170 201025918 530193204 795134674 623250621 950982140 771302589 962026428 316494617 879290980 560970710 958993609 862787626 610705607 856803221 378555483 888584660 186013041 680459924 508019708 800094876 687631412 300528463 732725978 748450187 869118244 581901443 296541291 645434112 986791338 539891557 115008532 227439208 508945846 113565541 354599821 791941265 824343365 288281444 524702695 344427083 838838986 135317758 692583942 104879640 874790929 318454650 361155956 999073776 371056852 734087166 287009843 628645858 379808096 294648106 600082942 736586466 952494044 933272880 603943621 680941475 494770851 789979461 245591692 371049699 308584084 364515806 643778646 936047613 392452033 256632157 337562664 548255332 209534032 560876813 732242348 276331535 407934949 583236633 717485349 351594127 792031531 153000427 441694808 528516838 874858574 765779166 132370703 442434450 131888968 214906799 818547403 583826654 120793318 933993314 147369838 975701347 520492677 812696136 733359461 183929291 226915302 327789864 741934380 918790327 941624885 431534919 898597063 705400658 839192929 192190435 872924223 606642424 641637614 865497222 516831538 359800684 286820481 264219975 648342923 384144317 525723911 941101457 911295844 930521889 450421405 217945109 189802686 523368506 399032385 133126617 675587120 757892476 912825995 547016642 675924411 316263837 140747442 832557714 675981661 977768257 886643434 481404193 888633853 142000796 558929745 693623163 998660802 245254046 408725425 534780234 942924812 693014089 427059215 455396838 566372728 540148448 603418841 753351759 817312222 808814865 796140360 897456840 726667750 977366154 332379100 311621865 824934964 726905583 591198941 900259551 155215147 767778832 947512064 819144402 451027581 811415208 983507974 568895308 649418362 975415138 599863314 428167756 805196471 920783434 825805971 537203353 660221490 250408926 903279724 691913902 211297620 972744196 812053422 149118333 142206107 309426507 289029257 211859137 113321297 232770036 372430470 915575087 732487248 837679410 148857260 152478985 503979054 388722138 734620733 658315378 293195977 700776633 959947460 585085874 483868485 950732142 812959717 661431808 921688891 172398018 598683458 896760561 141510911 465094479 633086465 188335177 468687827 179660916 585248819 449234380 259914111 558974385 629616401 209095851 744351287 176269287 714010399 915315596 907371091 339346923 262224788 444038409 747420702 612842977 993870391 262269419 865729828 963609188 495401346 172924990 659791786 702549503 819882155 619505633 941268658 681696838 838164427 577822100 378829045 969610733 362232349 109976702 371677807 452487683 958748101 592248471 112729575 357428747 617568067 952516159 153756899 285387010 604056018 321844750 164901403 985527297 563459918 215479065 886445267 458724567 482654997 490655788 933998282 838288418 834181971 786141778 134390305 939159600 353699665 687560844 385090840 152072588 953971049 996543256 558100863 413821796 488848165 449888140 193901347 452779531 254110347 329137738 700919678 557705688 172267729 728103946 146280304 965171066 677747906 139532365 643927456 867173591 369214511 812803919 812218188 339202058 514019948 495851763 592557231 705768291 526374872 772957035 277029709 141245951 190525732 937843587 396559195 318083077 755796153 192433407 119578509 808066196 118805535 324700229 382398054 128441406 239971452 359203285 400730426 149448169 761027014 404280201 593210484 797787487 551846980 404653363 710062195 601604761 917636329 428235746 451836263 789466979 439238676 328102584 666587654 280362363 637030561 923499013 577351679 981166033 127182181 385689457 173434802 417833112 104046482 813710865 361279591 629075105 308570148 446560589 311488740 948390869 173764609 365267305 993149579 497608297 636733348 608352407 495750721 278998341 247435369 929679519 245978259 785480407 720964704 128731022 722688138 745712893 722102127 828062037 806670158 329652188 605225841 690539792 184132654 968056757 764131462 899090515 734967284 544058273 319811949 282609990 772116302 424135271 277905001 761725225 347836211 712910176 571942142 940050763 298727951 242741307 364783563 867877014 488438900 659290053 731678869 811369677 840209815 983878232 799728539 744826823 943049444 242943281 230673228 423791493 146420488 441467862 163851609 498179797 159503041 628952335 359554885 893913359 869130370 932542689 787253367 598893323 676559985 507134424 152192389 121414465 820805944 134606906 403004010 840707072 633218484 154244517 488519118 631465196 632319968 470012874 408323655 550759181 308922841 967351436 231835971 840129427 993579853 217544344 750160736 985781897 293492791 102532181 384990805 406304687 970171031 998999793 137084457 689449395 559053895 719909937 272660742 386855843 235439488 261578239 717475656 214832098 631270299 752503380 618135122 942563155 840535635 293545566 395009521 404252353 582880843 588877498 332417897 550698981 913938903 305751520 300358493 720879240 388304068 718329134 721376548 823383629 276409627 925914082 769728059 480398807 931068650 835010549 592280169 330495940 139580777 824822152 356365149 250875512 995270053 438833105 341914289 406285194 872800315 739725672 537817621 904298054 905745050 191869357 991591713 344218872 519013065 835819019 401924244 980436624 981591970 216123397 825312551 793239271 285102945 858897510 400724380 915461677 469530198 395937837 447213348 433974217 777014739 648133912 183184847 843921761 170296642 834807973 887394061 174263145 894140491 697355817 808376259 988968492 968243042 410843723 495901819 381126580 599930787 228964470 181672466 743379043 824349722 484524678 896644204 457096818 430034871 895741851 441639320 277409539 252857659 321173699 337835002 731263611 682803312 541037009 765000486 731317450 709492736 782387414 584379068 600493850 895764317 101279142 151849283 141084346 462027290 452712927 476555126 558882458 133979128 608750152 244122390 587264500 920554741 293060037 144395480 890428935 406087094 429716977 468498052 871409087 771311829 405490751 721625567 752304601 324473426 955145884 557759373 807935761 557188633 770706546 744156328 329409060 904745910 417980262 269028074 130134439 687076591 523470585 194290319 518935104 510384381 359863572 816954087 714901184 723574056 243962854 721555650 927641442 820472420 154339244 332256681 873217265 282629796 282777474 559442964 316536619 990275759 697664870 531727871 925813520 672135425 520102404 722661625 585344907 142609721 598110501 193515751 435419515 210879031 469723512 987313811 317784421 263223754 543280589 450219502 981189101 431242224 450003949 948373552 822112935 700305987 852789867 839956271 318660793 536368511 651409094 587559201 264565338 832650901 627286370 765682447 400175918 595979620 878259335 742334066 736650815 517162195 335400785 696327676 692555732 268522530 942230365 335212444 637876619 460397640 882110901 505989861 696153103 895086686 212547162 701024197 416623751 224057144 584830660 669124142 198749654 876036338 251444619 682860419 894233946 237936671 981585358 520495545 512105445 609823897 203409494 579719771 661098496 625366936 896301529 305715017 242230876 160560077 575040197 108092012 919508677 884967034 949696262 224615930 749029999 471214367 796348613 236105614 598013479 865175357 327375238 801255836 353839921 438622481 548910326 390692181 794291280 565150978 355541236 450702952 433594376 994914519 212905679 277987237 287105508 399333605 752906251 194289436 609658625 994187671 497080001 822325897 766241743 187694275 727914745 375593649 120640767 860082694 837082298 219916514 483057453 173142930 707148015 750865650 549342652 586198555 182351649 786229374 118069753 861819234 184741033 169925612 629110637 627607014 772557598 974864771 183581562 810018818 213794023 109360973 335105284 385039199 256659697 557873315 445506282 281200404 967737729 461431040 868319067 200125034 410280924 648746150 307250157 112040782 556802423 232817154 467132191 379458744 973105938 984845682 905087219 816752277 341277575 587350633 344872947 886927361 537040638 903565898 957337603 152750473 641029240 532898330 952617817 446413275 838818620 992794065 905183957 586647468 174698554 450760690 338632846 270291900 387708685 902589293 309955484 641628597 937065611 527328918 729403457 833758682 888853833 548849924 257102574 891698145 153106854 827310327 801553826 480182818 314096033 467922535 104571800 644316554 233331997 857610027 155330648 384456014 147667475 423221791 630021459 948475606 635700455 856494729 335313372 330495297 817570074 469266247 835910583 686555740 430463298 312802303 302047016 741502792 600111616 755593014 868203656 947055098 742109241 985966118 187484378 843911002 783983068 748415175 128060068 418205468 390373092 406194125 954511755 233884805 134526484 340518087 459038120 638822832 333578395 546151455 401331693 663784853 763406847 529159802 649469305 214310065 813863628 305314245 592893941 109155410 642956863 258461023 300890276 761878577 374468824 100488439 295449122 492752908 502084181 704048984 568062332 114284459 734304720 841168450 594093490 250516069 222529857 190027528 417502435 846272855 347917730 746376415 742259521 214414484 713023195 898739843 449724278 471056599 906835576 285963440 535785769 182382638 172766273 665873284 395205560 851008713 326275845 641795322 193481744 846391255 307044570 242329302 866054604 549325301 807427692 936825078 494171649 669021220 878955244 312553920 488596398 164827333 189020649 478781970 875394931 302100463 180152892 818753627 624563129 766619910 382974578 178768073 681408966 988445569 708013052 181318890 681671956 272733680 699403323 748852731 419397407 476844112 148612898 213350520 115793516 529845394 184382953 448726830 415935451 493553060 114215781 444202733 793440920 589587762 790937612 543611309 694964297 769427269 712558740 615979866 324802652 446377471 381031130 445814897 660785167 878817955 633228756 459469451 221821385 104452967 743294999 277975510 363555286 264873265 521016496 369356760 930501728 584649984 200042493 235684078 731155865 401245020 918234343 600119863 637946027 680115294 849740259 944686876 225177641 148810425 422892397 932129567 984119144 863798941 641848844 634511813 352942937 208010955 453215493 533073692 941988325 499941592 781733106 654603532 728189345 576747863 872904803 744082021 278484917 825444815 206690453 272267422 131683736 548285079 901975452 840208175 178563871 535632386 700629005 924227190 905533970 375399627 939333682 977436055 515214760 404290619 602017241 125164385 528205124 264922825 920445083 477179398 239436713 156051016 328391052 422575201 905487562 907832848 295779592 955327054 374655010 718437454 265859359 589812263 272572015 741317383 991180176 798609536 652416789 521951107 605806802 219992377 563658047 735013805 191882259 658031288 289513613 489510375 573825996 415735570 918138811 454041344 683889139 153880658 893644521 295208970 681404081 195931041 991179437 683789912 549485431 318425399 896465238 697277893 448904248 326438633 942415281 340761662 222254256 305230044 228301584 241193183 238620286 329194180 811496889 744946640 649478210 793104361 305786905 844649757 462224542 758154259 427920180 631377327 349690979 326140663 563468302 263142340 816512929 598848019 799046740 759597786 215715713 841033032 261438291 130829709 759107213 242165994 211155273 364788780 876614084 113320705 749260690 589740278 780296405 178738758 660319559 818524287 213227783 734867426 355100298 781792345 721092668 354442471 803906784 602766028 829646295 899407603 572537990 379179888 885464639 748088268 935773872 673457961 928508399 417666129 407423540 506640656 319431593 804987755 572502357 460443044 395979421 354275394 133187301 653189646 709143705 500826142 276302587 695888572 976409315 598157301 944072607 692010015 632970313 644077216 590193722 595855335 459612544 986689760 231934393 571581787 950243613 913889977 347611086 893487042 479004353 453484406 857781572 269997471 514784787 844668344 388986544 761120824 827610520 281512217 757282227 127451431 886020985 641176501 478053966 215588272 591709714 901357950 847479564 869431854 147198177 856724674 925279097 947516033 426656233 408984530 463567467 603028198 623734940 613207762 347175958 918917702 545117355 561583399 335290972 754314858 244892881 106720116 284456128 955791498 763185004 537714580 948521548 387338220 949020177 805536417 167761248 642984634 628575358 217235986 823725286 993624399 495979548 686083316 989281002 586721142 485184114 246457945 275281237 931938074 360140978 386527409 122133130 297697843 788505219 922078824 732016189 839594902 315410653 374003327 727434155 153786974 590647076 512984944 988693192 230547690 173699406 606686925 441535486 126395124 641551645 118591097 419773974 778097867 856204554 941792362 401805544 217649702 865062695 586545751 472864607 316202879 436355241 151570807 438688968 246719325 448661435 666157465 758515322 147138194 130708469 309058227 749606327 694733204 876898890 386196119 746750280 502060851 741399768 873719969 489537349 557219729 174929111 275965314 614539442 297254542 448512499 673674048 454791937 906872593 751694754 287099708 228222216 276129420 497810827 904924837 727108610 925602646 942541315 791768513 473374256 677046691 847375640 992005721 435412740 945913632 190179732 725308053 165573603 785043093 994096275 238205050 448960409 535800718 750487596 570719491 137712386 778709482 764890743 331806142 656123788 922264998 130193538 297423773 397243674 782626539 908034050 636210864 593275196 734040314 832287538 860494388 228107986 207241307 704237130 485387977 661016023 358320811 920740870 201654216 991669939 885285527 104992824 294241662 273135294 270707547 362803168 839284153 647375299 325932423 723268374 970982777 573742173 720918462 209273756 295431126 199941202 281366173 806559127 416893694 237955974 391439970 389277929 165946850 989007007 921248766 441354190 409576249 396336173 732621052 670650804 554580539 985518678 972505184 545816255 741986583 595404108 498476525 464337262 754792530 984784931 303257597 571054606 673557150 805944991 880742458 789863081 594308457 856171508 214342286 137525249 720686340 437339554 435370822 199734993 725954513 839776118 618863997 969953336 165071615 675040678 616293426 195049838 720802494 155953459 107048870 825214207 197307162 779196813 537529272 638611931 148545544 214380559 239497865 917223949 784547510 595331218 647289042 601713588 211071806 643641738 967294107 263776799 285194570 472018030 230299950 954009297 452538345 277391551 205953506 843754909 586956240 274447663 612610601 557829440 320476913 779471140 139307684 614584944 675642351 637714345 999748329 972479039 322190500 564294057 580003755 770357321 479047994 885105206 133157324 403833534 768647037 343768833 585029787 201318843 952524579 968365632 178481849 658424266 397602247 675581171 200811304 774268505 976433812 447155701 661100332 129072330 465879851 397284126 646558348 209737410 149328043 408065467 804161379 208815278 821890842 362428511 178310833 707580199 851214512 404726040 113665309 714164723 398452075 180657712 261489003 925630130 713451723 922837537 410842085 218701136 222459662 588091989 706962787 556755090 906156271 918799604 959346224 386098279 869233262 982024066 366780952 545453071 889195586 734895204 624095222 119140771 211445729 399099976 253957678 552516007 249101650 940960562 678959137 314221263 366914691 104944104 479127091 368511939 605765670 639141539 581144695 903754857 532355667 875317388 418318107 744435035 676102066 795996589 284536621 360505055 627798702 520422290 915396898 463004399 775777018 396051337 514855054 285784097 488622826 649497871 336084354 446125616 999703241 679341419 644056813 129166086 765711133 476587211 476469123 107401593 651128238 229230053 660428656 460894681 930446565 282373662 786217112 293854835 642586527 882753004 117543563 284580655 322741658 734647065 257114738 289038867 696712271 334683190 693829206 325653707 859480437 648392999 425933698 830519175 592636453 635684650 197826104 660367766 292064311 934340648 105346687 687734253 582412231 672226632 365301176 723057720 303097957 980475966 946991742 826275211 317156309 365901978 448647315 101114437 706126615 110350469 559000144 300342920 382391714 127547488 248763825 942179273 543809145 266854675 729558647 254675165 451679296 650629334 237842414 842591680 604956032 584780369 398801368 513082145 965910051 214592247 380569568 811566428 378170812 332571753 985180819 520709885 752960412 494280334 615887720 522629295 688989721 485808545 428295353 867147602 387439507 768259948 858578180 269618196 149902848 569482930 372651463 568290219 981646364 849871536 691448614 285896013 376331991 427584301 132627999 826805806 495300300 853489112 969027719 943012756 642417147 765361871 721557009 894718288 705661142 656478502 734472375 861296186 393032846 790859320 451117235 733716885 243455120 513092616 253967273 881603940 744699377 918666874 524388206 243422025 686423271 322780100 453367432 600625821 158105660 205024833 447534874 692854121 307621132 859455490 925863607 509130291 577357065 972540641 963898507 752876192 343067319 779322543 756838215 554516733 885991476 521294228 364779469 797331155 393578289 374362943 254894665 602878600 527348967 374456246 267590317 296257205 445312415 592346612 797422107 933073764 189271464 800084049 591659227 655006543 846314366 352359118 535264683 147623716 661504259 342625643 579568472 838475228 278127183 602969042 587310955 205629414 695345280 289440942 553474426 624553394 935891354 631306933 844336992 262786217 471913144 157355558 767236730 489349623 507428401 660850427 573438215 463032432 650088729 310006700 886541929 908710781 601536648 740794163 376077685 940270433 742719193 242793196 646636119 338179040 244435700 761911320 479396490 758339342 896767626 420586993 201567575 873228849 953777230 187036691 315492801 640377579 218686349 811719492 332838226 905716194 824982986 873950192 526374709 730492733 467194007 578541333 667364770 729303035 599192848 689825954 485724920 669001289 298548916 254495367 260582040 857406448 719987776 802713672 622100819 737075056 646863908 574192066 183897256 194379320 159671148 500370141 198231847 780673711 927409133 873651809 869473740 482474007 951610140 830770517 285815362 703726194 933381793 553569407 956612893 965977381 744800021 674383005 394957267 819483801 666317725 125098347 433468198 482725081 205340589 184045359 129156874 423696497 652216457 415076022 109353070 694536563 215380636 130722304 631539524 489371542 606196423 748296325 842919232 745023864 675623571 657233190 892510194 235453372 221579707 650745233 651230472 723087600 329098829 793920143 526273186 124338331 110123701 570171856 856075101 911491271 491558121 992037161 246201514 309918061 945139064 110193887 737164923 145800634 381596208 596722573 184484558 194096999 770886494 881243995 396181259 275190128 632292213 558029535 675423811 566604007 557710817 159595447 502518411 388242461 317283948 405607630 629021122 921399492 480676741 151493627 241263102 159986953 570570587 172512460 852445459 772392565 907776901 135501724 289836264 650451481 383200944 552504804 594537556 603809644 972489340 595911621 863849877 628305291 323524146 419798475 229052817 706545909 113434914 779617725 409425802 205820329 358921958 956093275 282501818 992725335 860262891 330114788 917131561 842283583 947687109 877742619 217451127 418621684 974227157 623507598 396974367 565002354 347191238 448225951 287435623 706110464 234403953 749025087 852954352 429689334 164267987 452207751 391299877 184794515 139752743 243057766 307033130 649255754 756602025 999144535 986502580 624715495 583845237 187003695 487379623 546980227 930998591 977344665 959786394 343012152 935611187 872891966 888442131 936095039 510149410 504831632 860069055 663499483 925986801 431244575 389890001 638231238 484022192 693132837 315309529 813111795 427649672 711095745 409067767 483762429 502641350 344886436 525240983 813792780 660721434 178389512 615979356 556356580 476087495 732577889 249922531 520458266 154261407 437046550 476548660 279608291 636859340 149383784 282493320 897065326 210283417 771018667 540055674 193644323 856459443 115989093 914014639 373270487 997508603 874114773 599419027 651340223 744183047 267727661 920669325 602183485 548329354 953751016 808116256 146417867 638200906 858394354 634762063 409693304 369896527 629110910 274436687 246399921 797133935 551044461 245137892 891705179 836525155 349581454 737681617 837031565 976974963 208921418 342065067 748884701 861655002 575805408 949939007 569175992 135825438 850593189 807309476 183526930 993730689 140630191 730440742 388572054 824747526 763232759 649499065 808090272 637868910 548117953 862349292 445606543 748752912 256054086 971709379 465442465 900680710 917626572 152762183 831353384 908234753 731360417 862505813 164748422 678568285 844079271 811131919 358465092 943501707 669965033 162671979 122355095 259323070 798576241 894763187 781073555 544339393 468806429 351386705 258566124 239646278 954937330 427727544 184019554 439525869 145370616 931897623 925799617 857357473 504445873 134878753 555726344 560378934 287453111 877453369 115113302 861070624 897697732 681484580 177691748 291250755 709092907 658030428 927227702 559640364 877692562 513983259 807684257 838709155 363892238 135904027 542266493 656637448 761191127 311318967 140537694 975059883 580915765 518977816 838389511 395800588 776489152 944831434 963021265 382313253 283345345 558020383 253902638 139500687 306278721 596299008 940182593 467851372 877537686 476496950 257768754 469688476 335350944 565205226 651641424 651255873 300058121 327884132 452995475 974915080 433913616 266679777 549734346 423200257 605853519 684648282 573572233 754171983 706169092 574024659 204385605 174109530 546355766 543593205 838059855 179618456 677520815 625218310 983064889 334434496 183294676 457938153 288462439 465575793 193912826 487929819 130357730 244490911 201260689 873243649 844157082 330325064 641827602 387632407 397266646 373634068 241612346 565856609 141297446 258319611 130071584 611399913 980328965 542996142 341547664 372859608 669668964 239166870 220341388 433617550 586022626 118297438 850058892 672859300 206826802 765799759 138138379 391360845 917076902 882578809 272015836 248340398 226769179 756646924 888299050 601516812 480557435 989204685 233530146 933909840 153685007 111996015 518908371 701181646 174108330 452611449 796761388 938994519 281188731 260541040 710767314 410298451 737500226 543401504 313309303 158080560 138051045 206003208 470530084 505301832 817459427 253089632 406170635 715271341 809470877 655140502 471132178 912195013 572007270 777204742 962525694 285345406 321883859 432972537 884529923 170274551 129179677 315425796 278475626 859370020 608218282 524694870 834493387 803744154 944496290 930044648 460082632 301412835 935381979 757375598 937834996 136309814 327669731 544058255 507893876 975421553 726006477 939153559 703180475 128082465 100256097 123591687 173367266 886734843 773286209 832366738 368529020 416654633 946905364 542721176 243904721 743937841 121228204 592657453 414889037 615311192 874429484 462112581 754527623 548617657 510619757 544425517 440645052 449613964 272978405 409551189 269049150 791013113 973276647 940144604 809748436 575782081 364548078 923193362 816612405 691920824 680960353 379849799 914750905 237869549 600858707 360696874 174696924 688623013 400227515 376017722 591888783 151308611 507571635 378642237 546656858 861439572 672176384 680480903 110675321 629476362 788734726 382403714 764572955 572403142 887248096 173623885 787884858 788580159 583419325 443393563 481460358 860454778 439400634 650776839 819491918 320255401 875618777 865132437 898386565 759530714 474281985 156830115 475611378 980611581 714491990 816258731 558365595 977647642 631510977 166433782 187790371 472001763 751558495 184354854 999302125 672091458 178349713 811427167 458894463 551379723 839707874 890015477 993500526 250773446 391959410 961924290 669130094 403114933 458943287 258350386 300758912 273996312 346957085 525902115 345829989 880505244 471359981 228280052 608484262 431738526 296620128 713797378 618239073 779247438 985548167 346095408 933897590 389871262 318173911 542596566 631084512 908323719 588530858 839985269 261559966 608090842 462505190 888074563 350089565 795376054 525929823 522530127 388389738 547562404 888164254 193737569 388869203 440418438 434634969 869793382 368152152 138384283 806391225 597430249 382456956 123316580 154690913 564797653 952628361 705995398 498556396 598835431 672856155 854924082 971272501 601733911 823123904 454820294 509919514 126747125 743355474 809224386 350593337 596206094 140168786 775378258 622374027 516103787 346720686 751958858 718762372 137616852 584290532 378211266 972940002 416477378 170792493 712926922 801644687 570183975 131557817 501774556 663222489 749415586 349040316 765089539 636758057 408424829 248543879 145892471 776055762 873695768 963908394 984072687 439251393 115384556 324096061 151735114 663101659 500668381 779131161 754909288 553863912 212836001 673059301 544716916 970220590 654127870 337298716 684668534 676202971 602636309 580715253 100530770 925779511 680512098 750219191 332101868 226570082 379458795 462397782 596784072 985602478 925722644 228174341 137669210 472647318 121862035 892996605 952568694 941453983 975205719 566597968 995065668 470367819 803043723 980837252 857689372 834100547 986228104 352574159 785873128 785666790 777363406 621621343 517288803 236664113 152980206 340706942 968856132 946200061 882302768 393441270 263273152 490489367 331638744 741830065 716056396 678593543 887243132 456748650 915835901 713073804 402020992 349571690 917528557 414436558 521308243 834662546 371342496 614916221 425492412 675407113 876286676 316752224 999263763 318191720 683805786 789445235 804099114 870395384 247357041 894932814 678924089 401826235 341549760 638451306 919138415 366903650 778705628 791847900 338734755 360899417 501231466 413429696 476702321 562850522 165251757 646968922 495085467 583109573 314800390 684958177 923980458 538190501 335376016 973142483 921333946 693797879 556000089 486291531 647611437 456483740 494652715 886643613 714684222 820089877 510364621 458045405 803596789 250290370 110968778 570948281 947109262 136484235 719689181 109749996 924791669 928662792 718453883 316011570 964968390 658696202 376271430 661933366 446301606 252215711 312848666 301325061 524607332 807537183 351424065 230656102 918106351 556165728 349008558 447862321 970631393 107537553 749369244 598598155 283822851 781514111 301802570 978291829 583897498 878991747 264481679 878721630 171820592 326739183 664073795 216979358 349408131 934684488 432641641 705936251 345027403 966022562 568910197 304460174 997940454 496107915 414053562 449727741 222211854 607648754 847676963 259527058 696585632 868723347 238248419 719429482 260196049 547609322 706996103 178318650 501187879 554368543 997705486 184889698 289205185 261782826 853833110 517771645 340331998 153362030 389457420 111611653 796289298 928430617 113892901 265086562 220983598 857390191 632356063 274772044 501628848 917589718 618749041 107376287 530857480 724133593 862240395 161620154 242862453 791331331 655988395 953645709 419841404 788875515 425472615 498967377 716232928 169596200 250007990 142676257 754722618 735547457 998175302 747665740 195671359 348790512 768716063 807138305 184677715 212523896 345544433 783264608 892011131 675371278 378640344 496161249 291070514 827464883 314400722 457017278 735745477 424851413 297996937 655201633 293843217 270786015 812413175 115017269 968727816 814819538 240852295 790075420 606973810 751134296 715072960 216931258 256677679 544190905 449459601 242611622 661881404 911199828 283776740 725773704 600371375 804859805 426220786 644229359 112907818 130171830 780165873 934028107 847020232 267863700 324005426 852863335 448817273 550756516 125844989 668411904 577337898 800089584 287195102 442338979 409693747 680924395 857657573 671441214 107351319 886091582 909971702 195598204 348724888 378988905 835251400 858055485 606223639 710080454 656224214 258578040 925010658 152203502 471814185 875572213 464261386 298510061 174110534 371218934 992497999 626802626 193991183 400210831 883003641 275844269 655240173 509519601 225481097 623603323 784910220 184837718 211250234 711475716 338885560 936985238 570538030 470305377 663898478 170214855 319961579 575822303 720427560 325231140 730364303 563173837 967286211 819393698 930791623 901901829 628864507 259608972 799087727 669905351 816500244 412827253 901234731 877399535 574054612 331458777 636805700 431207677 107197310 402047880 518322948 571860659 781647283 182876299 634849109 866888841 207119981 274232534 504580687 350543245 102278644 983467035 283574391 830689053 919033230 593128013 192911442 675777737 938753620 990282692 158787463 859763095 561822201 735131353 665627332 145168812 591253696 355607908 827155235 443641716 256000671 760440354 183129962 645176438 499549155 927711995 427596816 172653138 423328008 923087938 111924809 336460809 974245181 568899813 908207945 194484501 495215277 727434105 379002133 134734843 773278249 380767187 999760973 876648854 106345553 877291200 670430667 859461667 344008260 291839085 694353541 608597651 586518074 872075162 283244986 289083013 673206101 222210610 603735682 635053729 349772773 118389644 111818789 999998282 714228765 714871781 566381992 526818351 384243182 349973839 532760517 619816107 114376646 628078378 163277974 456189988 396571920 463401637 550495793 150188963 537614878 525944028 636767434 841684712 549294679 514314593 963742957 632269054 963867138 462674276 434224050 349176273 849631867 658968298 938729799 780903302 327335527 663337543 905574610 586028710 655381197 254729665 949662567 123697869 349696324 786898839 515163921 400153691 805629286 465368626 143246783 260001027 937459810 415532259 648772375 563825246 422670418 565853433 340952029 494818428 704071907 901027233 142749607 472968233 457117829 862878964 808933198 825103001 740158436 191868939 962239951 544353367 209032308 743279275 143947212 409517130 715618680 481280256 913255463 820435112 492791627 493275610 846919276 982287709 132840457 615873649 427539017 167519563 694925750 731832587 941460003 980711533 433449183 599718753 500012585 827397813 977272193 789627933 644665359 893096370 477979793 590413229 980800708 925662568 961301852 337927742 624992227 926819333 514214022 578614279 806407120 969624256 634002883 788180466 853815302 616529312 778907001 563076153 856432610 786439139 430755439 245466070 874467501 473754476 168416842 293291055 724396604 847363418 241864700 340043389 988158169 508733246 621446909 959204851 658727378 347174315 142054372 571031073 929795306 317942535 137238435 497028496 174405526 308201431 462368824 376804017 318257855 523772477 897336827 941015750 655614021 308986683 534486039 612459747 745658278 467687050 384100476 847112377 114235355 783055143 271680192 994426067 778972951 815179258 628342735 297966700 414278420 701755291 156968724 672139087 241612473 679708472 743930200 820444684 525873032 284705003 865031446 735333290 344900742 979226588 472532896 196988615 208078492 389353574 594041154 575031676 731830602 563214981 456115302 227530405 700434551 581033058 366444235 954682438 785411288 305564821 509289303 361559371 297176280 788844510 202971252 103062229 990242062 210894118 410619083 826931340 798225051 790960058 575135616 866142217 547720795 127390252 162014194 764549254 926180520 109927115 379836771 182320111 840133993 181539877 586676088 529161916 133748993 475173880 774520393 386682352 725663415 417310395 643659933 926297085 192779069 913753719 271100939 540807470 789690879 132458523 246883084 102182542 857098187 530601354 750528864 524365083 432568782 875358275 530919541 476408147 383431546 757845242 948035965 896666378 849328376 839636625 661127786 785379929 578913389 162267651 794480668 845015911 405454319 660020964 354179600 568105445 340067493 464711163 802930493 618404062 724463136 369893934 916485993 581067255 983963976 228558713 517679129 272208207 343718524 361843702 462425469 933389987 805085315 428868005 401837578 503181469 667540923 326176690 654274024 342898575 353072224 704653853 386212137 884329121 266257031 423429519 520836292 785022891 281182965 298266413 750792140 970986456 102773627 129261317 401583023 202195571 543736743 919361408 136002655 511282326 885576405 153239316 814004895 254561143 125924841 277566175 214135533 807443402 274628270 287319829 450853056 724965031 189642268 460451642 968657242 475118422 727622030 796706025 205880523 636199848 987578593 348431741 981593436 573211370 588956763 356279298 103078657 649440596 834403863 763557618 858459261 182657543 598323669 159934905 422363389 430640873 698224079 712329869 386052999 675332136 614059262 893675038 655374435 890020528 688431889 667168197 977417355 515892072 649385599 280330536 975523921 794668494 273502605 609808757 546659581 163209022 772504115 842206541 385150328 717772663 708513514 523675211 794300840 921704237 273767504 705214365 684135161 884643100 337191278 429633300 955329292 656339356 637654838 968354775 716048277 187581382 264333365 704126058 409034637 631112021 972796669 961587695 692364795 662658265 904296698 200609680 872729301 931153011 985824203 978723691 240305242 909037938 677438504 951548011 245705647 849185657 851939901 683835489 334453228 879544351 574673930 809769643 852853197 308233206 738835523 180302023 465267082 371156746 342808641 912126160 546775340 516306069 748976114 915171863 316130173 150354887 224251357 118619586 463994255 798643395 409711569 219524960 789236433 755153296 918591622 353385436 166220324 436613141 395861333 273189589 257115418 847105269 328563105 507400790 768033686 264182556 904018042 674245872 743185597 566096402 222953532 611307027 958791552 588337683 699071365 884540056 412025221 546270909 339668592 930206943 986160863 841402477 425132965 224031589 251837502 151491561 695513822 261274412 270229788 741906858 522642349 346514852 215482475 835118612 817816120 352297495 691437667 786514919 550546109 633482912 370677085 990295742 690359799 902156869 766167018 577813378 247022178 861937354 217349371 945982418 564991369 426258423 964183230 729876114 290877858 655414941 655123245 440917781 849165725 282325150 990673029 680133129 537159857 953033978 730446959 399377782 625625611 396451488 217667855 198162859 885774787 812487858 861744696 743376963 961251075 890783168 886023875 328953390 943561073 995362265 494037071 505023762 281805864 766299331 531822244 892640058 849978179 408386118 894151537 607639032 263858563 632943257 353633429 675089028 315863487 738577931 425326413 772258224 775283597 928810673 791930165 102296023 878750331 775257629 689067348 633951270 567803710 838771966 544558070 862529038 553335316 342979699 332503715 180865662 845014002 570006775 730581066 997334994 612740935 734006620 627977182 800776129 561200712 731789989 995720844 754853845 812910652 300111144 491012330 124839096 424372527 201434681 814114137 426210649 885168653 505512938 322777202 688581513 396047437 992664431 677883569 603274621 746710262 338998942 885535457 302487449 255077102 895079158 376640540 420585494 154305106 860821228 328130707 762716158 251656734 155010918 811120687 376630746 956039170 476885252 790529588 621112784 389853369 976804012 831004115 614972318 924913603 952353284 732481686 625164488 850705979 845084123 799701350 605218143 185311948 924125643 302403456 552966248 251745318 933432654 445522285 906149197 480198443 190298136 211802012 602706499 316150308 998551052 366697811 505199266 902680017 320888139 301776387 936768412 296136553 619472854 262491353 441179581 599981874 390059383 931001619 441735313 880654610 896410663 452542749 911667140 595278984 842362269 215458461 218192142 794465340 686316183 100242332 923944607 777774257 338442079 146504688 126310429 864934174 708946176 949395013 548648110 839283271 644183200 838706347 235433545 754426781 999940581 280266459 812978600 902289591 362645102 525716748 581363700 198017494 501535103 121181726 735172965 862044843 440061286 413780490 451981556 646393813 911283873 279427535 180905058 807757492 859152516 117008732 718717157 816914858 331742413 875577955 765920830 713469873 879642373 255663498 739785655 241815959 894890090 252959780 948148916 282373198 227736039 532357531 838711479 443958979 849386242 731550278 899287148 715656019 697704671 298374601 558918308 497444403 216714627 396852349 885488113 331621037 911449191 182709634 887815652 501161988 874762016 229848156 906755610 521291303 707805156 138018726 727198406 169736861 660414151 455478987 558855910 938545115 687126392 904318476 740099057 867070369 210412224 401757338 149547651 386395717 564158609 201940685 303658303 365777020 364593281 942275681 587900043 903957521 600206643 535598738 369913710 488084625 248458347 966223865 248324128 311086450 911753217 146362176 870207983 577051117 543045404 455236859 923835213 561256794 519865892 784056570 194631091 715527319 406867173 128184264 593333874 546287530 854327118 883227832 472814031 531636531 740216022 709317186 230709667 197101105 899664779 753048517 579047051 627471583 382263282 368009088 144510531 885490017 861330050 400205617 850810318 449278858 510442839 281953427 247532732 337701917 578313942 564502233 436656301 291039301 626166883 951252466 445677599 120527812 571439975 499132059 503663859 814881001 788675980 807938930 527854607 379504227 116195571 230170497 480124443 566847835 939329758 519781793 494647903 767682736 605622229 784945041 193893851 798068479 238361316 968517325 910955662 437266844 289029449 681644629 739286492 864690642 195382440 893469988 265664681 229438253 515121147 460268920 830112678 994448516 119492842 534484716 859346937 884650193 127737485 675239882 371985861 565077517 963147476 188219497 577349709 137525678 799441590 622366265 317214617 598700384 352129700 846400367 338222906 555669237 889912360 301832396 369676304 517271760 963673437 815859959 978185524 727716823 482819657 863535784 715330835 480026984 320589919 856343175 588362409 911838940 119397783 707550756 726798555 605715063 969776941 886776568 875054959 285367367 542303415 742405992 695474143 702884354 367976601 337294875 928765157 437261498 374531132 846556067 678104932 194278810 462786519 851001900 952222443 473931564 777052285 730308127 168998429 117625398 809420695 411833942 232683927 242394872 970182181 997408849 224268018 735744317 384050349 491711341 496968508 170309765 980094478 807437824 276545476 375437566 359644619 941117874 256072413 597037705 809061382 517355438 512545305 356759228 163499343 934646028 238900834 630335599 592839379 366443556 953954980 213571570 363668039 445170406 823155501 571474592 289046042 397735800 422477490 969689974 259247352 692867851 714120529 113550829 764630950 463176250 804086858 416842600 838076395 456741593 232468001 773959023 487127665 886476096 134910199 620764354 443529514 401524752 675289486 108200953 894025069 548150155 245329402 310613371 563785242 480832943 927553148 683564172 126338688 441799409 535491949 291126882 330394929 679434640 828803746 736070774 730467679 421076979 762062642 373514737 415373828 202571598 490380283 289813620 889381474 967520059 393735740 972140297 941600851 335617916 483769458 583934246 671619888 585920154 229080481 704882912 757444285 710859599 134651288 519964748 715713027 627522663 199891136 423042424 243282330 567464304 218118934 495789100 683172446 485978738 259373489 502622483 581352784 272955158 900996567 690475818 542550006 338676238 797411317 442035241 804872095 170924939 992833886 544859401 812333764 263103041 876197553 577905963 350125767 959880141 527595011 134885181 445657589 298913304 784570649 749548712 627442898 393419524 587964634 453967212 756353809 574558289 321672516 818032715 443818664 146693096 673387464 737716765 587976508 181173980 343048611 334133410 946456497 707326825 477544251 457661281 791421371 475778764 104011153 613915534 321518287 368576588 198234770 577676382 949831892 619581213 865062197 993555866 325241065 592468596 575872081 668927802 804995506 997228961 958896516 829141946 387744791 210497391 455684992 478803114 111575862 647879959 410291242 525675323 175751543 529909745 281155912 745467719 347073550 746516692 812886553 136068275 943649597 441241459 888777883 526038616 922412948 107249572 618962798 418380812 627624363 993134526 318513655 739948948 143079689 997552226 328088403 918220277 684526007 663296050 356338610 722383846 944948864 459112366 575811898 167626846 115347472 464739321 869469948 236611197 355410019 339112704 404795561 768425697 401869791 204800987 806472619 803933687 773927903 435889116 141342429 275950539 471013322 716170284 599582285 728147893 905522528 123245088 221031851 844363098 956916000 195876220 189861472 436760666 319775119 640969499 102116702 181392982 836739112 426900559 463726652 394792499 897460405 176555142 994873948 465935299 318464074 947133674 264057142 176010469 597753362 941235596 244003377 409137130 415315994 973137548 357534132 141085702 570726740 517919598 965057205 655337774 860839165 797467266 993779987 177349105 309161561 588669497 468665003 716347568 224906457 747555774 745733366 143405069 917157460 920882334 583119477 572482159 444542759 164027238 671236291 997714192 225221788 280284676 525244106 779103952 861397584 580308019 349391847 911388525 148030141 806085301 928528758 856234321 736332871 328072973 596511751 155478896 441424274 919949630 906793842 444268866 458217820 820881465 869424579 817830348 746853873 769116351 672461938 946286233 189512458 246344362 643731691 160864787 832731900 632879763 455123547 358678333 630198037 490237565 791061188 455739814 601083907 744555018 525103997 465924863 259889303 695584602 985844762 674395967 902655242 741437890 810357505 337726339 832299848 374841221 265640356 187761288 857905095 252802478 831598323 260970132 328790459 642903488 897036740 324361570 894576877 368617289 442470454 612025694 576371521 950612513 807139216 687250652 191109800 178354116 983642505 932588084 216354292 714118045 500498990 184866047 172536362 843239165 577586061 451418955 353935727 598019199 276095469 988640616 497454120 368490327 187871876 134786584 772434509 151851541 500134353 485374025 890503654 229029940 717492669 912082706 237557162 768397725 598395313 287271901 374289174 942148602 221720570 625846532 392356549 258717842 664479700 176985354 299464467 337011938 679462393 588872537 449011355 456136297 432268047 857879919 994446168 295879606 550150380 529031173 227213407 115741840 528065065 344926043 108042483 214273374 873550868 486482347 959187008 647349501 445836105 209977304 683003673 546001237 888098363 430957677 335386557 307770491 581294047 531954044 704168230 671788366 609367961 915975167 329249148 895998282 278477563 793839133 387451113 502311971 825765678 452411035 185617546 525726751 214918539 677507323 750891960 315331764 480036142 982282303 372949441 793251050 416169953 125082454 845355920 910925530 726994842 102169453 159668916 203467407 469130122 934367133 123811199 664740074 823541774 883106388 482401060 129438024 633297673 721515646 711373062 527589196 805408485 717239708 284198833 891023158 710708141 982762033 678478390 893670953 388465894 455704497 569169716 578966618 850746321 318597739 355519075 953439295 208012341 236054241 868011416 550126406 670620567 523638553 957871245 170878128 265113714 503748424 233123961 960525814 353821095 228638439 202764260 210552075 454455477 273652673 504924846 115187058 206721736 149618613 568974378 131296643 288000767 124797220 400885809 428720402 782665076 304148501 449443047 560654078 909439253 650754184 445234279 262211570 894157394 868308591 356811723 879692943 425143239 197993404 385877424 679649070 180672269 865859917 197326317 408822789 299066655 710370353 607529488 796224182 941342938 973098885 949142184 133714365 682070525 744902269 767120093 547472822 788109212 303525089 965587526 185719862 772711404 184927615 265370006 659900214 694562418 289926719 325321571 824012851 601155434 232749641 929613584 114683640 879863208 441762646 296541844 851273580 291523167 775716887 213867649 144328810 678483509 806481066 763587573 496188850 653606995 237256583 634708339 200992450 470503378 543353786 726763962 691515677 361177941 404535598 462960931 488485880 573414172 333905716 851697042 396048615 435671192 207888207 523691105 675428038 615724218 883892594 546946192 805917497 878095200 697787728 582052071 637426252 207169345 775731197 945313737 988152563 130401975 458224133 922020289 607625645 356414748 369673261 745059923 628995328 172300194 581208622 101477289 499196591 985231281 626677234 360305806 898415024 228623164 194869825 324696733 379306411 305103359 749689709 159840698 459065156 849685933 241523105 247093010 922987810 568820067 568519146 502351459 642672393 992602703 412450024 368460712 434192831 403772029 141152179 227741543 782080570 145741066 526197542 907806429 349570072 280815562 706311680 123492888 531181713 731694632 219061295 696320248 885288480 205844189 966941439 557613663 197964203 811600798 136186521 182592002 149989101 356862426 224966378 565904010 328891408 869468559 519714692 604194922 671933781 962088475 273933966 344571234 532810066 217350088 246608586 538769517 588578474 314261133 497050104 298597240 480501403 765418757 824728485 344340068 407903067 413624571 501697120 232989018 547316717 286519367 336367860 345211684 674178352 854047890 920903024 441299462 664004069 209259903 944810167 540229561 780452788 641145456 142542152 198032284 943839202 740449589 801485982 406648401 706227624 311433613 973673149 951447616 527692918 785599399 487521573 245149142 744268597 319789269 696443304 619407790 322448659 975401751 787445355 187621850 947772188 548366732 140763008 250277148 672778549 229874676 719404653 787362135 451642302 807270164 732135531 313155085 646851236 668912927 928953778 479451375 319407974 152219957 120962228 834843377 417766014 689519225 686878437 366745494 462871021 453932039 332536553 427391413 660445167 164667469 180353436 695182060 744128529 109524218 827092052 894006245 922516798 426343865 271093069 533818696 372234418 949641498 208391516 186785176 526581634 574144185 333320447 565729476 507221460 750597605 761537479 698154797 667301846 493251665 659974124 354618762 692987669 989023446 151701238 556764257 593800236 644462503 224831924 812783258 528037786 198242596 673645698 544973083 133352841 780757559 812033524 376646483 568319905 937131820 826323670 118496861 622049156 248736135 856412021 792333743 899487470 133054151 299871410 514174732 263246107 978956421 906321339 688795426 345662285 526632303 788670356 800864463 579273822 719767803 101816189 133159511 191286895 446622299 943077040 259223757 447239247 125569096 685751000 730373581 483069886 387267868 118439150 176960232 166765715 591252823 660370217 960237805 441162881 991492118 189285452 680232900 924247929 639617475 975746319 617020580 546145058 143140896 979486557 887061359 747104218 285228690 649927739 719046337 677207243 632187542 403849233 443814124 553792438 394231681 579036016 572297119 891363381 309077454 191489976 730405891 845399313 450974930 914532593 419540631 494843105 351555763 553078265 903960151 941715545 303453263 947099544 167611846 810299516 985381232 476667151 306955569 461263957 956366777 773251611 935306906 811932223 442700501 387081822 703178301 847312387 733726555 798639792 455449421 854246806 634166390 944100493 745189077 498306048 644502631 911181437 821359477 829896766 815874702 692986506 130015184 388073584 866687900 844149675 325657333 749878162 782823859 925407529 858797792 243858056 315415666 774745354 627652724 479721143 256065355 612948941 634496730 575036957 400942879 292412602 711246843 999911949 988935711 196890860 952309080 190636152 665199934 538428871 876631440 718830966 797511161 555679578 513782557 837615844 106693369 354905332 700924570 687711141 845869148 132526568 219153130 371434602 488652981 921377062 418715160 407021048 957847229 227843701 569381366 839528027 144937598 122545621 425226106 518766533 129965076 810032471 908366715 794734319 767223598 335922634 157607258 489994456 828700865 297029087 907012000 878692220 894181033 419690462 557140072 482386471 412161998 708643654 413659390 622268338 917749001 563539305 175597635 263303566 988602294 743496833 593681058 968259235 339791467 537108425 958720914 950270633 889863896 502202946 699690386 920885420 510645333 996026074 140729018 187466746 651239482 126471907 554024940 836839677 170388622 955049939 428745464 127514866 598763023 926232943 422019020 687741957 214689670 464608797 340350386 246229797 708315118 425293884 208571325 563297325 500196518 437055569 408674424 718717795 956047747 165387035 687369709 801294228 391223986 193911499 755419179 262166219 243497610 850045729 516512432 180035110 877024899 364333441 895920308 830666692 316266149 107920481 856068301 912695614 224162885 357490644 590211756 132985799 305323823 625258090 358845774 736763999 704972900 752447399 978539892 134343854 643377060 435361264 313759254 321557369 241713255 639937610 571149593 353072632 768544708 927472573 418965695 152241131 410571293 263978744 856348631 228560637 405145439 918287541 263289390 461064945 215711307 666490283 528547524 633250376 684817912 672645763 728885435 138008746 729755324 478811484 870667078 770294946 455457730 703462973 226932447 846905567 897311740 443447283 268739052 392230792 977103594 551249025 304396523 687621281 614719411 241291334 929756395 544667289 783899102 236620712 273436078 261612697 178692590 933966250 812895089 367972296 943260700 113164424 283016443 383311749 415454887 421964615 391328783 205522514 818498029 395937820 251130623 256430106 165948670 104303606 216907995 908481589 304521573 522380679 600447054 473932668 724535202 608645757 828054005 744310060 787773989 359229549 168718227 643021090 985339010 603464972 361449817 881350177 887532285 900294434 745932360 845450071 490852657 327063339 332216117 639734801 541506151 305867096 519004155 261537853 328236686 786725653 664155780 138324094 268342828 725542738 219201991 893806088 225568857 105556035 252562881 444219872 584712511 636895646 921564665 868732299 843078331 168083766 387245006 393997268 797662545 268633013 790347081 584126794 450777518 246211819 831273718 425500208 721053942 114400909 309110736 629663417 474806802 193825020 894358835 730372831 787688566 643973054 264385768 160320085 734073666 336476845 654065118 533510193 746651068 544239510 625549532 962701639 998680837 137681780 273715742 217199531 658040375 827593561 364712389 323193600 946502656 964480506 240299454 505230976 485550589 421482940 256024826 751670837 760894740 902283013 941156448 509301479 787862969 354037331 916902375 153176310 728951522 367491824 780007737 494499694 112385352 333093492 255763188 223757813 711159925 434161384 544457227 382119436 385643959 940885447 518854338 167084848 215497667 125628313 984577089 564619940 896176201 850084144 713825199 587974779 259222918 624444075 403215187 608639657 969334203 899034776 565993498 689574603 247518792 789727181 116799197 987255766 250283276 992906309 519043669 131951491 650060699 645160375 358193235 256332227 139118321 669060520 684018745 821854630 700119949 351886027 383180749 487100017 509706945 864861239 296472699 987095037 982389684 365124652 233800549 875804033 893312596 591074195 534313792 201475738 446545015 225279695 199307519 858350906 238249243 539416987 791462233 215620328 307896000 564977151 377808208 899018995 642798610 959884043 781031763 925982742 873060322 555406069 964416278 521176535 734181675 927964680 132335446 717505322 909385195 341444118 760347856 171146037 467830615 439612701 402953243 380487246 814219960 981767471 741190011 134368592 171005217 766950200 427943756 406584737 927151354 535542475 277659325 498459500 261661759 768749511 202346223 590716856 769652652 732810312 276886013 452362527 415688060 670401914 922419226 426798836 214215917 679169062 228667461 133447536 910812542 271883256 820965418 482667382 666493344 261711252 367698200 879883687 680765566 598253573 448876809 551404211 382075857 151666792 953319153 974420985 219491340 101000701 408512775 227846628 838510453 258410366 422683289 196500322 366487982 872659500 352253343 159641495 790042834 481014569 632930469 906509781 350903163 124203566 224154564 921083012 365277159 498533734 932766175 488590623 148348269 298487575 220740347 645993374 658391897 366334140 859909695 578143839 664589522 560264542 533909872 551264099 505180442 296608034 213823657 567767211 691061759 891121387 543885751 885915525 189872200 902408790 955666955 272075134 265723305 508623215 127227539 764378310 275626786 675180569 617312786 435148040 226604289 385904223 536478533 736086654 845600344 599879109 271069066 126129223 756919955 266335854 927406222 360923325 491058378 524585621 378374479 487167212 364910028 531657473 437223245 761312035 790229188 331062187 723740953 807438003 138507218 694417056 815793351 610781207 891254224 916726656 671565585 197328946 600752796 762836452 944176316 637482434 422449212 786268659 204465607 553528313 428338127 229499490 265778506 797903844 871184176 543126990 462529928 910579842 386587245 360217524 133064242 817867971 662394304 559600760 380823125 677656005 639751125 235673231 504810650 981988778 264267464 307472627 637002052 958918669 904400137 209377341 154598645 632201259 997287757 429673794 963765071 614280344 457390637 650939270 278172640 774490404 740076137 124122025 569314522 508956993 173979372 880249883 156586335 573782711 778815871 856272433 410891298 574931417 310261332 102387417 658882165 359567039 932961916 656009908 595230763 715663831 175291259 736501166 946980706 541534240 182366637 956510330 481144219 886829796 793114031 827705258 434285890 951744954 899372925 577196373 939801051 315776303 817063609 979350075 103133587 168146329 806755474 706935131 714910118 981030366 524151847 495230911 509614799 871902276 808122132 172404929 415921887 489061443 837579613 524211280 501758103 149643004 734541426 119682623 681766535 381575340 807702392 350844506 220779234 953662521 594197772 535620832 300676970 750254218 276940598 919122619 665649399 828116840 753859048 209347323 171561401 765100550 504466427 309218808 745268922 239463697 564104374 492930462 443671832 968263069 451720133 973558100 274581455 895635866 967933078 409913780 556142671 346237625 355984030 389312289 262033418 235780840 227964847 981432255 220226731 763219968 419189560 891069324 621551199 611435680 662628045 436588987 743393809 295413939 960186920 215904159 530496149 980782531 686257081 863108267 488196264 836307025 303772711 472328208 881751350 628189748 350063290 642236235 389726592 928740077 952526380 817672347 889527757 436665551 583573281 801872912 433112310 774700531 126895554 618894200 234174040 599117904 388464968 770411255 408460006 813124032 829396548 539489245 476584033 208867488 276752151 674784033 104959485 804711643 475076606 351646166 688981662 709969970 661810209 201348356 637931060 125216032 631838926 185259396 786279834 662344176 957241302 318064199 500185684 864362746 258719262 462063821 593525190 448858810 876768223 504991110 591701942 678034947 835316014 623472715 944094865 202681134 785427391 141859128 201668132 590383956 657066862 638566336 290222409 486247226 533079221 766088518 715112700 961817826 347609783 828332363 991902158 641998299 949853404 616587241 976285557 574595553 930624935 210325008 819307117 317194149 903371002 810127895 308133330 366895483 660389270 422307879 893805255 136129291 364742326 904791604 281293919 562279229 334943780 818810463 747575885 999033391 853534640 645175161 456767546 892424264 147657351 647024111 976888710 845070982 619023967 354894406 597214224 246695377 138272320 772992789 586923350 273371314 340744997 962162386 659821688 249337039 581839389 154054789 271869125 900690217 108784708 783442591 466043139 824921748 418790014 711868026 749639276 154495937 682281228 709368609 592969103 980799111 587062462 189576614 791386589 972537295 366137947 597196387 707200565 181685845 959601684 459849855 709544915 297449077 309330426 926101586 381349008 110981805 529453648 341262554 539423902 820032111 520292593 686260615 934520973 345659745 446168329 887613709 294758951 189421684 279175610 141583024 509837648 690888173 935317137 255279959 718625495 804656880 312474965 388053447 419133984 497082897 228101198 451029925 445564743 646873548 284827138 789669153 887946613 271643212 660298010 795818516 546163558 559921862 248835119 665783016 703061641 123437463 710583665 597970110 366050596 778166647 479206780 359332199 313262275 905131960 300724705 686018415 534580512 613577878 515343195 746421442 565289580 787265614 247735578 461716006 169396131 660059504 346770123 282283163 948120221 878964102 674239675 185819840 370359622 430399447 300473947 529444283 140860517 332727603 729955000 316832023 225167809 929764927 484648906 573005577 788092013 193329887 330138180 352209950 412454912 203679096 541825763 388843914 701753398 790755638 503820119 701509443 844801261 192321217 397886890 802072985 101139654 154535228 521235505 119596968 321150583 483620410 433304681 766737951 586505808 899336938 821197524 661214832 887671641 677402761 544923433 883499897 891605219 889166742 872142137 206368824 759557080 555994207 415559778 676202889 550983546 789746597 618659886 496865664 921302088 593841343 867683369 442267433 955653176 293292386 475767183 353672597 496792365 859944230 361359360 113904832 451143887 903528713 817918516 954064152 120307369 203068630 171160928 581959442 189538012 826126111 599299607 766667427 494242091 799575889 721881549 131152028 904334084 703273313 223641985 964081459 554005804 567733428 597298557 915080295 882739886 662062331 321621111 898916819 682264430 527939830 172556917 125286230 532256464 790053648 723289294 225622784 343062110 377803294 285517522 206320291 805362357 816295042 479021703 168220667 837422195 737269093 109660626 131686328 343659579 132960814 945143066 619664452 560480289 213884908 768702866 780054705 257163409 111303513 322493426 294380205 538542229 275042096 363627640 190340105 819203601 285544736 936281987 673962167 298999856 628989250 644976445 662805422 375996425 284376117 908634433 320281718 927913335 954305000 475865303 823193167 189582271 376296946 966107281 378932816 797563384 218041598 962388366 233069111 289582902 946487618 313703963 466153727 452908070 153415811 348823938 329431594 994934608 262428139 385136878 949250355 121018067 669332786 832926993 456435062 576368044 595339297 314587848 214088764 880573400 674719422 390658836 624841929 475424563 993714780 608123638 440772313 743429317 978174875 236966279 413725096 130200090 125567882 372828701 135327719 767005350 734557493 540488591 811575415 691930210 564105217 568769367 392950070 285382028 900584973 692305247 797396236 634791324 564373515 573904635 210329044 823780430 955574873 234714341 880317340 866759827 592772034 382911111 696750315 962753173 715697849 214775292 420719436 555227006 140775465 379638085 757447206 683334935 619104640 728771809 975838826 303252630 169589654 373515164 802781581 306022659 139868682 429516647 102182588 657879501 836866462 157957407 104723089 333133557 961608446 858015456 754969398 900941669 642151882 127854426 798397036 514766588 649881450 833937815 149500238 793041543 915738363 374663207 276590971 561910583 264650008 443171720 975450121 527596606 317963252 765313234 878433357 440775652 840399065 126719643 194859167 952156842 804214617 993497358 172849407 503810776 146633947 826034088 236147554 947265799 262454471 872659362 812816488 134722898 962950495 966165396 977370688 286594717 173282704 605238553 168756520 956602183 562699581 212846828 361218119 612913414 763673881 926653888 331891383 509739756 522493879 336785921 470595596 591233996 891490763 283501571 589985454 466040405 935223335 577051184 121011471 591067441 758749177 347724137 536509277 770569703 248133665 413383128 878259832 983511541 651202624 159254046 695113433 661015187 691999789 107299433 629847642 682434117 433188366 925078076 552177590 918892225 381850867 688173659 820237672 908326725 488801034 850448532 583719540 256732621 378873248 706694787 515762131 395884061 407535969 303499484 790518998 560207022 425114099 725884467 230334846 897772043 269235820 689442942 670202461 214610172 348200251 322577864 576813350 262092393 938781589 104382213 363728054 682753589 552755187 550140390 753883642 535890022 798618705 388886207 460725868 309715323 679948970 239156371 109834360 855732496 363308396 960745725 388888589 814656800 966468637 903638943 438559049 972270916 651068692 762304051 383413240 850538499 988318135 216577788 423718659 812683562 358496186 475249160 901546251 958894240 447001930 495730576 284745237 107476020 114059634 118800407 900463842 400999564 313725055 478877622 700363556 407670832 996290934 692663029 698927167 173987670 860314142 335026701 979434482 139672815 428541718 945159826 696653408 512176682 462679087 440234051 541699559 114648058 539040504 756053896 673510900 499592894 101933374 190949456 187648138 844663355 202270740 855281851 987811528 633256471 871357070 394864048 834181098 748020851 945122072 898033847 646097901 216096893 343358854 633724584 132899104 167595688 164757651 506231397 646798548 241672619 783065244 994055890 818318965 706088895 917212529 755707277 742141312 395682364 144973930 121795423 232870696 644543166 567158424 911019047 786185242 783737701 854757821 812705492 501635928 298011511 601886889 338785017 626235955 582366813 182199646 863921932 632927821 381859426 587003259 142030389 657733195 192649807 523212722 253936659 530194559 836909984 421694772 146658813 827139475 668918587 801755131 786088897 721759046 611593443 556460688 803671498 325604869 737599550 578481697 216365545 863940739 145236994 798926041 221993061 753075711 523676601 599339814 814059643 617182816 607362715 254425657 931690685 785063307 819102970 415299144 647891941 320407451 253752004 414958441 454352526 111215877 206487206 902491636 972832638 129905008 861887176 993830422 378842820 528141385 643610637 990213344 143233926 944992690 749212456 388009896 997588890 633615736 390004033 228120229 554897252 714467561 592534251 821599192 318616968 653670211 524533798 411282532 101174378 212117921 320758494 122976378 518961751 527560902 449919284 955603489 638593099 118700731 317736881 500279407 440339298 445959859 206765448 132318264 574747408 435834253 581252683 929902037 246920326 755602901 500874538 702781940 269160173 310677839 100608737 386797181 644236765 868773500 497764969 125885769 545585724 138401509 164976275 922870505 172025056 605528052 514472329 586289236 118958345 115369566 282809570 710337753 327399732 290319788 941237504 998009355 610485626 874130321 857569070 560713471 714959545 640765659 896181206 621838723 411508136 707162563 605361746 107088436 101830416 727495720 213228701 464607887 573930858 363552496 475887650 675002445 174596898 856203983 626094896 477951073 428979887 691148488 584066504 438864339 110074430 980409755 853753209 298279613 641316213 107918477 512475878 309384187 641504946 621506515 273306237 614877498 599777484 132041236 359500359 675325356 792692147 505487951 744272256 616309386 521411770 453630552 862356142 739991497 469446229 539048292 776862305 168128608 707581365 788614189 676348182 830533855 791269206 720019817 895719300 304549938 926245115 972331606 294678862 505923053 173983993 504926958 379028342 101723895 654092554 371777210 686191051 605770430 516014724 394860595 965824174 978945328 589813276 115240025 634306046 141450398 681600505 310932543 833646348 564411071 442060859 921997192 926576614 795248431 567998470 139065265 551280003 672962488 904720325 574304711 481945757 575205729 606442317 485197781 479594963 913876234 627965373 510834667 277297182 522352310 812706914 431142689 108787168 645915388 869230720 681900954 405510935 878796318 134866443 222726392 713332441 285638018 436460564 992441679 922547294 606848696 568730245 175641130 978176497 177312454 272279650 206904169 649476838 576236544 486111278 908786570 731296277 938922364 539297842 788066016 451479787 135329960 419123966 528835008 704867401 637555893 904895047 648621370 830982409 701155103 265193963 660549389 455811476 215795019 551992949 208899321 246339823 456001222 195988333 745463989 944651270 451570906 547111169 889843248 832247478 680820848 345463007 214269759 861805394 366787787 661946003 438647074 790518035 491565251 963312501 287889140 790290879 712026675 868124529 116005790 275732191 853921327 987219256 229537171 776311624 841007381 682820822 785913310 142399321 939947231 484277049 781287122 553308090 871663746 232182265 650860577 799613972 593100319 302165872 215834229 924451677 379518937 634213697 276076895 869868790 343499378 713259386 531161952 238189624 122692883 267341147 772122750 664881325 472067150 328862628 986230407 935735161 382102439 815788600 181987987 988192532 651444722 289978615 743052891 220556230 991759289 976739944 916213360 412595946 128574719 654286535 746974373 148915794 771918866 746209851 977129135 888751811 510970769 513847193 882178313 841361528 607678448 188377172 722618231 591204039 220843925 235954541 504865172 370858585 586236845 603924183 141941023 369699621 708474076 940692385 910012654 719498200 987741774 883008008 407226029 953492591 585965139 886103851 262545132 559924682 653773619 855653039 105737569 588742531 229334436 760715510 461597648 237345604 923286904 537311817 586201427 742827918 128249661 938554233 850849297 442160926 822229045 899804121 525557034 610184605 122977289 712411787 952895671 964855573 115531132 916911398 515236442 688646660 967323143 945081452 107694675 870109620 975870037 700042909 190913901 599681616 939519914 753417579 689314493 995011999 823040547 353990257 781320526 676929212 219971691 989701649 400555804 261368833 977291339 593377640 294131067 387572833 825181470 462562868 867870079 853855873 926638448 283751390 837303135 380208062 490604578 972872625 151693075 809592338 529145649 855902389 269661046 174989888 849347374 344943805 234804936 445872514 528331071 168855344 485593781 726199110 212219203 644932835 381050185 428393746 845328793 556599775 432188155 749226350 945479972 905180391 578603279 806967084 973082141 721930453 311616082 413973681 145833413 153997998 323914215 579684490 417248028 705582680 204049541 359288114 146470917 982058455 526637565 244681341 798119537 492029313 144616989 323315026 191710380 329648731 698846204 683314293 564381865 368435469 927791530 316977774 441510405 291341089 951195141 509233432 281756552 993698135 786531560 627873100 426603814 501107150 791855779 100326402 691639887 938767982 564841395 505859283 761219216 802872053 772551601 559658201 105822275 631363725 911191662 680619311 500340875 691188822 964086145 303778019 744083923 281624391 588026910 209216562 738526922 696683380 953975865 850184169 845075724 251711528 700972502 682447780 655321501 424989686 271508721 632387740 263793354 201804669 267871605 323311832 499320234 936090696 824399696 167591791 144688714 800172114 490985480 247962767 394214387 805735369 550318594 611617357 460841341 894181968 774420609 600179615 249489290 363058847 665128294 798496953 246494789 589170089 132883639 790439854 580956763 990366833 410858863 719624647 627475145 725195299 651913065 869457777 743900481 232714340 332351968 178188829 886834638 506563575 537945994 458257465 516344360 669069345 291935760 427235163 622144007 423475106 331942547 622732430 713156989 913216350 637867880 183415489 263120542 402069621 900965250 286168235 198050547 734749702 279299798 393227269 696453776 508605630 940670518 216150545 885455210 476177255 184226359 806668986 553318983 187164677 744152387 620199827 551378085 319398512 793928934 899106034 445023266 346423906 465134930 533795484 975396509 334716025 657289016 632183104 556031287 229997917 879800692 726024224 166975993 273831734 311177590 313328001 740080992 917713486 638398613 881523421 246733022 869755510 208539858 858578478 608854969 599906372 175939730 307261074 335528211 290983037 998403327 825587919 525844035 686674657 901994819 781070701 691220762 557760415 303643646 979378438 860067477 401012420 844606347 440371810 187578082 764538280 513477785 259276603 784467975 733161096 214027551 173593470 309674214 799511690 815041414 602035611 154018569 842675212 729624861 639896013 870586286 805842103 974829440 961538078 897806185 370348566 533294451 664260851 450287700 896092289 415744833 783015627 664812385 975090893 425517750 703497626 133053401 554233519 372140297 709830731 855853996 243196965 997983695 468520602 289796737 303849738 300041353 541653232 471489284 119734157 705237279 772255288 146674198 141374579 269181576 518469332 465058797 460886824 798174044 592833664 934748408 747711117 790676883 374967396 383902501 111140763 632934937 192445310 919660149 238288443 829101277 438114358 591121806 311933332 985620318 666654598 339173561 715879950 541201028 657833495 421711937 654515361 439359672 462749353 158159079 118235489 200424488 694373343 154442610 605460146 642390391 686023002 272286944 729535624 558090056 519327760 638286398 431783184 246311299 916254911 606472004 288053872 812291637 799218703 638050609 401458055 289093248 491373893 599485241 318701407 505239908 467171581 318607463 930904866 588574831 592536378 754322807 282229076 549886120 278560173 533680422 380328142 794293139 568576450 867979174 580874788 187221598 117468675 946491688 917427289 158149860 506196051 145783021 307979543 661104651 557635091 413979844 732027503 693972708 954749136 367767468 605143293 428730174 270613328 511339136 597871325 742901571 793070027 889402796 124005539 651985309 544251752 466949687 287226551 350991438 538182552 108485419 575581869 791835593 393567136 852075200 373431926 270856711 570242934 785516528 601193776 542820883 564064233 185105592 530068216 252106856 145213481 158802825 627665219 769995123 742575300 997153677 983209480 436406044 125428759 930622157 209003003 340166892 136743916 374636638 864223884 380220009 508136799 419521727 477853345 645031211 606972729 212687377 957507523 649699628 277449083 570405995 251858162 194376466 270029151 689089677 398085820 104906033 367613721 954567648 544901768 546887569 227528143 303973208 387754058 735402059 309066172 281066088 214996888 489203672 762546565 305908371 245677133 103850760 119713839 444063250 978820253 893422267 550554663 617107642 130200301 460372068 635684522 546781621 528631216 100006261 130673726 983334093 939781334 832868147 129678015 204607256 629677145 106917730 881067763 262525802 188232110 482811449 418139785 429597720 273631826 832415172 438387089 454275650 486285187 162152207 930199908 544383658 132942523 210727230 172408508 266898395 819900783 532743447 130688707 472990893 394663782 869865117 370905274 664136788 352468591 772627647 643384740 432843471 607861971 340594317 416897825 968357704 391941474 932484500 223081314 171833152 607621633 138095497 565601805 644536887 408601437 561623245 992691101 102390210 737239677 918184051 707852794 117124021 714792239 397696892 773916234 950174439 521477507 292058587 247903981 176982614 601037753 977272565 202091039 178283568 763633426 232147822 684709284 545899310 364040410 767194217 536149479 295635654 654805411 744207902 493888112 430865140 234120752 150143704 158874525 234383606 885160963 825320242 805442222 120775089 498012338 473764877 228869321 976877904 295407437 132220764 771899053 553075429 178552450 382717001 569081741 646772773 849615692 648910614 400862204 803443843 726417394 452738185 709984089 806020349 139473418 245604298 356160485 205883773 919900942 350436232 375826069 874016737 546542294 508105173 508565122 512126701 392306370 830655045 414275881 126746192 181602291 859932547 606661622 685602642 255775983 378809814 655900464 432298613 684075521 867979756 651877719 234443134 380674267 116774233 157923251 742047223 334029814 544643673 390040113 166556357 329562001 999538996 247803639 870753852 550569570 682294101 831855812 638342758 997566576 885601851 193668519 938014915 950149005 306835247 628685833 550720299 308917195 928411882 460122550 190875099 440859793 694590796 956141830 741841153 604717838 663010024 536733093 600523253 899296551 776018246 216902203 174415139 306760554 783093288 742661453 847216881 990549754 243596976 586983358 122354080 628451810 891329709 513863623 215165606 675750855 607420760 817167445 837697525 795423274 540505636 119248871 379699725 490405559 932694551 376637061 940195517 339688347 213185741 472307082 947136470 486886683 659273244 420349436 363336625 210134409 640690338 637719438 155481567 185163970 865459791 745068881 398292819 305806773 249027279 752178351 995631316 407666485 510226768 534141471 805579459 617403482 293856143 987637357 893331504 247038242 964925963 476887313 477256504 475659928 813952780 309821811 529266947 262409281 705458447 536904076 437376705 827066105 575721604 368539527 908335029 746008774 403932361 663300044 205392553 133063441 861109085 792615856 597571930 729431132 710462850 565236767 272997972 713345812 129148411 154718947 827384773 771199915 958382411 277503999 890722130 701438751 687342456 797650123 957650843 906739675 236320360 549928951 279649296 481507701 296780270 802236794 514337989 648565258 350504695 748074584 366062058 327572566 270079580 692010551 280721325 258687126 998812335 530458810 944987752 517234238 324976400 449470356 898406550 943911896 323735497 816714715 128337250 954109303 463633966 296330007 195984068 116715846 223428208 288905083 422719730 342362214 267046979 457162565 945513862 158276096 591231513 392129117 380134801 540442750 634978411 180273811 128288596 778188774 475130132 142697440 609409110 854195015 764744731 796236664 155142904 905057706 560544797 339106471 292582377 742942757 178320039 564478577 769274408 519228612 452410573 757057106 861313552 842853724 515467642 740637190 239837044 523923686 219234875 169458310 764260432 379286430 279960497 159490007 760133131 565102871 841336409 100756487 143982644 594509159 827827882 521105434 286549030 911921823 912063172 868597477 911925597 543511400 875128040 184438489 845757441 807119539 922169120 230603458 988584010 826936912 904745477 207315437 756102064 630172774 500862269 804164464 185213387 937021308 706319656 399478901 742583907 195270648 732590224 495533574 143734018 262876977 420794043 805827956 399628521 233281320 933059030 188594846 833981729 510329024 923942176 736547100 321941857 929686977 829972302 700376861 489892576 683415895 613048802 986504445 319051232 809876881 349407466 434454196 703214027 380113596 900080785 631509568 763631092 217453268 427282184 157206984 114033560 359856611 126301794 878269507 166978880 837037808 210118921 341753941 424305484 810123953 199764133 889858706 168093861 179359956 681560231 136150328 894900800 673326003 883773604 697889755 923567296 186904908 400131467 967869806 224641840 918843687 853263170 369375735 810548231 878550329 676584067 552275260 701970696 737379505 381619184 510145073 872533190 703713672 874037942 972906275 926178391 982528337 642897800 601272470 625725588 586034364 489058319 160077912 286897845 607867077 675907375 486164178 555264293 356726787 869710957 382515763 269694396 361046666 805975402 970635266 905925248 186200550 831163610 591485980 153715680 328774466 253509679 720666379 519470684 929908376 751144295 154808111 514456969 702067525 266204791 237653469 964247989 608053325 298458460 565277438 512629820 908736025 240479759 593038835 802844265 112939397 292477478 544683427 127101404 937809831 206460454 930521095 457472062 670431799 130023579 562553207 531522148 495943613 308964018 185867550 870199482 860445639 450875566 716696487 321233768 726406263 395130911 364446315 730886675 370734684 989533527 183412823 448987967 874415312 512013784 110423458 810508380 803791743 262013250 864334268 487657770 878923442 634162830 461732161 313733532 780387669 778746205 542769574 157193272 531091547 816452265 945383498 360125594 910059208 668256093 724294536 386232225 359163790 716049071 720922429 652978591 818569619 461432864 800998619 243859966 867248445 979217558 223721093 149603079 476563512 250390852 443746561 946986551 292081295 355566655 629908066 369324928 525020942 296491181 727040425 163110721 216721226 448475928 971065014 785208225 721052984 882741209 197575857 260757471 905470938 972471272 902236426 500330950 262236150 893438185 372725594 866894271 196827446 567096322 902714525 815599353 172495187 895035985 475261133 653067066 714271001 634819724 267069570 158253522 603946076 838808252 383135252 691608996 691685291 382371123 547014224 311521796 352135512 560667188 603113457 242544173 877801410 344036661 531918876 510403262 377017345 682510163 718360680 365898436 122515862 265381628 704849224 986918948 664133054 195558134 865867573 919412680 223925323 860478409 719536353 565012490 980706585 677585982 237459321 925047822 775127250 202134463 561838697 990352474 627494594 399040466 502866084 175877190 322158355 585362882 497812588 749840547 882289279 768366481 797290786 980750474 545377126 349425166 100999335 922739369 469663901 256798849 195414542 320270969 543886732 266646015 307864450 890361279 906217142 292465528 697453827 324245603 283308783 263171527 550703426 763453719 584544382 729988432 570587654 172067524 564516724 606935479 947450718 573027588 548901583 850925021 314385090 251748280 163823796 859780740 767958970 277628775 255757309 789492557 249360052 686425182 412049886 115903209 363119204 876691908 287823979 311630809 900038216 683088619 351272740 375094987 437984079 327366837 977256722 547072839 437859072 943322037 276168437 820571347 386386404 323534413 305031507 555239307 463516880 174231560 739933491 667289416 319590301 693869381 397643623 911151815 561057917 489880107 618075247 876255066 582982544 649471517 909992473 926107626 871616986 472723414 265494796 570402719 509165833 124780958 147591887 684505001 328727125 358098956 206269174 564122619 527450780 407042446 980317965 643559602 394644075 791761069 754748720 893372065 418719461 318093202 789743461 895475816 166262879 219882091 422878754 457941388 452478927 416996232 949487640 991018398 840566816 551597849 922776267 483346287 224026605 735918488 535442026 848563962 652654705 577255793 569592573 229464307 138683462 638056931 899748808 749623196 693008915 341124002 373390259 564223358 680743412 866441064 941324048 360892036 921733427 480048010 571661788 756257859 545449053 615763358 506952870 691034096 709586977 949188936 260617569 134532902 354409996 794332400 725525095 961133845 308137723 814509610 788039368 522876042 437956993 300112634 666953478 637633897 898546424 333070146 544548300 830378083 557984609 991974324 273233159 679254176 907785811 214362975 540942076 991497720 603013281 767863231 509270494 793956915 124371976 633404524 542000819 550127642 728053663 193838704 529509728 285640420 612086854 501256669 861292613 519018977 782371566 410715758 118554851 179568515 719586827 458158665 781519673 399948577 901134849 568861648 370916104 135290623 770203674 279495158 208567470 630062687 147488451 417111712 888812571 791734895 154924327 521852370 888140972 936317929 884214902 312378310 619390448 826119799 967389759 572168806 295606374 405770515 743098028 603958662 898499530 285063159 754542207 798139387 652359812 836059357 877259497 674063142 266777771 460914830 100283544 296782768 440282288 218923032 241823529 557448359 108309972 830460445 471538090 932142848 303978976 832264805 324809926 829463797 204829729 174012069 227593853 747488891 378291107 798288946 897527123 104047291 121748875 892337952 301025099 686433158 891941956 670402609 404076944 454140801 489369459 178749921 127098994 388871024 127167154 577734809 969013701 263110985 102873365 863351740 737379615 123049491 405451327 421797236 105717304 318642468 117785507 770000180 816375013 903179677 191332164 772258224 601734811 354036007 184287155 882536307 141059006 251710238 632819674 488229720 405292142 389089999 824794370 135712843 913514604 565071359 533046737 684075903 231071453 465980509 488561611 235384803 921700899 902926021 773699560 731308357 392600542 785101398 329011857 559389096 142242641 791901535 639477725 676373215 316380572 883873415 325986844 310185076 220350143 740764000 281608218 221703875 392448622 903718087 955003294 222855324 643345353 821899081 724618690 711207047 324233689 567104585 900195760 150269967 269911807 605369611 316842538 239870379 757216795 945310541 854718689 993856948 181953704 232942743 171545036 745004750 987336788 334553373 871261923 766004193 150973758 429892224 898694231 439996350 339666635 793869235 291758360 279101171 656906023 498208889 122691541 587418091 264997704 899293723 786309225 220204395 449367371 669343027 865273340 883366114 366567055 401480759 784340400 373637423 842091562 876634866 641459114 768521842 505236608 675384845 999720401 528700201 189820153 813268077 522665995 595343883 610861612 393234888 487387508 250245837 641346564 769973597 276504944 973324451 285109741 616612723 384191590 971585684 413581570 247788661 439988778 983631639 801336553 749501833 308152137 893839058 865786807 653949308 512881467 529540892 470278980 647448020 396057305 545152218 427385437 798873871 190356872 579395909 198804445 670961745 467922503 410923192 571538981 190249459 151022255 700256820 368115273 542604906 775303350 390081075 338774939 147040103 968044564 293575727 848875090 854126713 355453265 407584189 158618255 458388509 636549481 807750633 522683325 244908963 961040941 284583155 448741738 368953988 538767032 237873115 686842681 870821493 759777259 405375611 341921551 360692715 850474805 913054891 686510587 838826991 803335899 133374622 345825830 384283368 552885664 908569370 154965040 265495051 724938140 279262317 776306009 809478070 814194579 661904605 258647378 567715437 571121884 749767648 816092690 373570953 131342154 934325074 425190607 191065639 945394376 715540852 956986570 194410264 266119032 126309711 906572295 747691206 540517414 397569795 439096211 482777154 310658540 254204548 993638997 522612348 373655559 527565651 873120967 314177703 211559462 580766207 876348890 452135568 370014651 930377559 390684527 502326335 653659899 241481981 786415182 848032558 188720904 142532706 470911788 489853889 640868164 327998800 191006178 551284160 635841668 260859127 625727906 349095505 470011529 822021578 356454921 288424924 959723152 670578415 196988280 932651556 784709624 105434899 225929863 304148559 802317423 547938967 721497355 406633171 567626664 341865271 656851684 679963299 123805653 124328730 154785975 718008759 854655986 789608402 677410608 671946430 386057218 845343007 807549991 261735967 320473339 820935858 470362688 562638256 594156497 213380539 592054099 175357011 975574778 776361609 743154647 169042466 684613466 933991810 916380262 588813187 157563199 983084669 147144655 786647654 887685341 697469458 944304926 236998204 999483336 915888701 732455027 625332485 699820071 313404094 984074357 491001605 730006590 499346984 487051292 857879338 959146213 232295568 858210671 286667658 641014896 838298620 915318024 166007472 941369066 658746196 679212936 410473653 343690808 916432280 154570371 532414244 449592978 624085320 469489865 691715331 531132314 712336728 844338434 921716512 810845898 602361722 271567496 480675092 295763991 558958851 887197164 583044999 377263390 346193668 812198855 160890368 300689567 988041207 153962417 920127019 148493712 141815978 104302977 344374792 641036889 502955627 589878467 419525642 306713697 908229417 579874942 892749937 119775462 167525512 139361221 761691694 497970880 747633871 852919836 388380962 674461816 609085876 790767942 840420831 897639068 490701547 636995745 591861857 738582812 103438005 960059745 745818259 868511798 415377794 470531319 664577163 910051467 339231802 308215594 547353982 308709828 204674961 749788321 669900016 332235625 488013046 780142598 178186597 282756910 870473171 156805253 607593425 386916481 646347201 343041310 108203773 235699649 701472249 156912247 593172750 691582999 955454795 830854519 711397139 356516163 638357959 231819895 396407704 274524819 524758224 600666032 818726850 501525622 353477535 934184818 713868878 995891388 218278082 949717987 761257630 836732500 181724279 761430307 219643431 831041708 638442934 649722912 368266190 535285903 890772744 979193473 119846084 513777854 698026261 523843143 707348659 841459893 444520808 717512333 635600817 545416455 424857109 233760856 650677168 852361220 758925668 110735349 270864037 824275096 657776461 336138215 387662335 369758285 282002985 393852022 473087134 532128371 256553128 425358542 808083053 520831480 318687461 445155329 258392554 399160269 882497462 869852280 539231471 404191808 658933787 870935143 572374627 634089432 468711383 223919576 776859443 852667319 152021159 913949342 907601143 325546434 763877418 294856693 209973994 817065046 908469771 128666976 844198973 932158009 433923041 492397379 597720037 555175430 185252901 377543861 170521202 980049202 258267245 298236373 343620206 503316404 763154769 103236845 658244131 259938135 330498614 552898831 938196244 572688658 941888433 728040154 282596062 837429633 986296231 622913783 960265141 295843568 541566147 310214441 584619367 971902954 713387674 337391400 615721699 509593376 767535266 711092113 597189728 742008261 684951522 226693838 637195595 186978398 661297997 705959893 952129657 456965879 392547371 315967406 968616935 758223416 623998127 609457546 386731496 515905610 700675670 300744249 541500357 373731213 441750236 293904814 852377777 349594690 995065891 608856053 198657827 249151249 492737307 210132105 960429495 138567294 327168248 303940391 185014729 393110243 311095510 851798195 700366769 840325285 389241347 541938757 865124430 502543006 764150385 122714428 521582624 611613407 367079123 963230279 115672772 471422400 936828506 831991247 293566797 817772712 400607100 276224189 730956937 921287907 450938139 194046932 436373853 263501619 895417050 366153002 291863702 572484644 263596980 512229175 301465672 424962148 316295814 591745168 676288439 677753707 475676466 366427508 600026823 212422228 334855697 916372823 970859038 319609852 211019285 264875764 411071357 713657989 967759142 233842514 495932522 848956096 592537903 203729927 680766801 436083586 657541724 599846133 931746106 962219134 985745113 246626494 645410553 951445260 511514733 199803661 431224826 639190895 358055603 921210305 756389584 157439517 561597898 785459264 693431971 204611267 810137145 288651412 728767006 347039470 201418204 461549536 830836479 432401837 961577306 275883944 751592155 301279873 706297935 506003416 976465474 696762331 578742093 274525669 981074000 779374670 540383560 749704819 883897546 971950858 395871461 501226742 256293918 455145690 647099926 705745484 691301059 717900172 531005811 206174145 455942634 918680778 300770648 773616989 998742429 660479999 814138849 359081382 807040982 347200156 658472105 175396991 785955182 752781645 980045258 618993523 464478708 345031777 477652080 168283452 734687610 743710758 865608726 793598142 916522299 710222146 903845000 868722182 103354911 300629526 731325858 926702582 545739818 866742480 823162851 406769526 258347862 748488366 459354095 325293275 262266668 406397466 580563419 393429753 777948287 471739484 465909181 883998570 775435917 402459655 893276617 303685108 463903372 443096390 210172255 697136878 331588205 732723645 854155292 821282962 811810618 308610105 589617598 856128494 932034314 756095600 715073189 414592066 529245368 370816610 786767255 258784920 631543665 200481250 773153994 963503579 883804696 127666310 463796167 886091033 509998420 430713994 387461303 618611020 204125472 931775910 219793890 490846553 321416629 174666968 547176201 731395251 821110550 143692198 665864758 801299874 165366884 762727365 723653943 664789180 534659873 142594833 973216555 993257410 852448618 654237672 425684069 505249473 444170271 407474321 491726686 965899126 256388448 140063870 451508806 719537416 749656645 445974606 452572215 431568262 849052773 524786776 919971596 250038582 290751957 790449099 902544763 971841367 552202478 736688617 818463583 887849168 356205557 244932151 950908380 659655855 787308549 442520855 703576692 737562073 417508778 534162369 600204512 396546883 269598036 435428208 938816790 770163374 299396646 601694871 509243593 757360330 432287857 195146571 906820349 302487941 571921245 321946370 364315848 389537478 740461904 900871453 225794539 290604130 983180334 141866252 653834091 282977199 146278923 920297040 438968100 799437801 462941053 480080407 753408219 533510752 641934791 205200226 672225577 285329106 195762081 677580029 983191951 340576427 230345845 300070211 313408864 801028031 701264461 465518520 441425032 940552153 754474542 889896152 758991002 294801193 920503858 915694832 191226269 883958336 189894899 665606186 526794760 604991816 256187335 965320264 261777135 601803521 468283078 532256475 960103714 898343705 863354345 301206030 854524920 676873416 461367690 378708060 368013293 335410894 274651892 324462115 757198125 967336173 634013077 279533971 987279419 965411306 942595823 604405387 266533795 698392429 896340704 909678186 229518811 127066356 438657387 979144152 106640490 834840281 333748770 279749426 174879778 277788787 388490518 847392813 828538302 846076691 605299242 589892348 399998540 289876655 171970525 361565608 245081596 763486087 142558140 603085550 583839449 318555321 349407492 733974792 657390707 656308529 461345854 423287485 799481713 244936789 690753465 277172878 671655669 206289988 942067448 825001855 298221139 201780305 969139292 567135344 301075864 762029424 516791684 187408101 690551585 801037201 858429880 747590017 494116064 166100504 491961154 878525508 588498687 394802401 451698803 680613243 262930796 432309863 389792359 754180199 882526619 243843807 511605581 253590341 573617761 427477196 588877260 774669964 470572066 881007456 196452707 268538663 473310154 375720421 367624878 733122601 881448799 390820777 695359401 251410847 755448180 155599675 571189205 537224466 181416044 317073779 497976714 270390393 822915070 682114094 835944665 223566210 674477921 674289416 651663921 222884208 236914007 675680813 285543309 483988528 466878138 362087678 350722692 579775330 105556978 796040188 490153450 657462958 588559457 313087697 130345809 277230797 357580434 506240717 937338318 395284954 261977674 411613228 588865497 677256652 253356910 840186847 564888041 896873887 712320527 625158409 159860161 879230473 729016655 513667516 313779569 629671498 473665586 767981881 374049944 545567484 629678542 219274882 692288401 533010138 241635031 166372035 108756733 227180453 757828021 872418466 108323644 249788986 275185123 519017058 874951895 963379880 875787018 634150276 405102128 784072328 193449587 465261201 737156451 394058505 543046591 178831903 885151133 100063957 812437764 899071251 889984110 536641229 762187354 838217573 438549834 165621685 130009807 294476733 532057784 947870180 918410035 846868435 819390013 613979793 265836595 183384310 203352516 148350838 507135293 902996323 826898816 532934601 168850622 199777784 549580835 213141738 843359057 417101809 764674147 707201335 832678340 640621708 588913112 198159799 242638641 179449417 620757767 713769010 861695285 131312900 969408245 322460832 285070732 498541936 467331758 298438701 975821931 559516604 474848441 589953115 564935309 724315216 786609254 430185718 348354196 655570415 739136882 257992867 620189218 252673847 253203410 925808546 350695289 697188313 978725304 395232626 862281273 560122985 989960330 795960799 178158309 341030355 458994335 947384467 632525589 601017054 632123709 278087138 741220558 812106316 940053455 234340797 693260878 466158298 668490716 550475064 330247555 486097926 670965000 312440231 492598518 189721624 971496879 871610140 768613367 384954172 792330482 840768781 821755283 124417709 874796633 165789503 517622456 358649943 610285720 115552193 870623783 325706128 707245454 687635910 521893065 545821780 803467056 763059336 418329665 827086463 370001012 220394051 321322658 530739146 888443377 700062022 764322820 410847637 823575489 174455342 209387939 890948983 907676899 102625727 793868689 125935642 245522582 976438053 570933557 932849106 177450709 940746951 388968525 382709832 846026980 497926390 685759225 327380819 362282049 254912656 303909780 190787492 644907907 119776489 701267886 530975179 828152197 547500483 827444984 109813464 783165347 167142507 381064404 517715873 197911628 219872827 675536071 158397968 605308846 198742526 280162106 910408675 356607489 516394047 651911064 319883086 993596955 650538402 648006084 647356720 384825109 246081300 597584204 801326028 998601515 877813853 753607211 355210107 753641184 536660519 247336194 259723352 211691117 389466652 868077040 589825183 623479515 188983528 476445172 682509413 139894772 612763771 644069638 233255168 286403718 770975910 327623996 471376872 411096677 234857643 615930046 120219570 790074942 492815256 308665900 429028884 819613776 124055991 214267545 689340830 426678833 400597827 431825818 517459509 646619573 508065876 206300071 269824949 218715060 566902099 348209611 761759523 767798961 120467964 865935153 427214068 862267247 387644027 535800041 662562577 878535182 706859206 506013278 878716176 531961274 160268457 583932260 646560739 283416882 888733383 147784859 962403488 680079063 794368443 856054991 207789548 733824870 496507917 619712959 184957576 119242394 285530719 798925264 602483840 779935201 787697381 649305482 704811049 306717395 323579011 698857036 860852002 564845941 552179938 382530525 799424337 321046053 703321598 912605118 432316605 198314643 894091576 205587551 921219457 335868845 330352814 750297417 464233297 530303992 895370810 216784856 884574553 417922017 558725849 605323491 415554961 124647735 331238513 540439602 591631904 831010401 137389764 769056984 582999392 996516589 987049329 185139822 203368030 451938111 275619520 963402913 238809786 751880262 714002874 828191823 633533252 354907536 783707569 717402564 326688976 627202851 895083951 587981298 902431486 133338160 800615473 417611502 149931104 838841169 686782114 881796480 331501461 421275052 989068939 823525532 800555002 641640688 971062208 225980461 231970837 857071968 126694718 171291232 365042371 842475810 796699595 117003792 241801450 573605954 249344951 403140645 180021818 635055907 537096159 974230597 752984074 429314014 677163615 823953520 127182774 383791718 166521296 252899992 717050489 669136157 239850876 330906451 249445323 709569420 376611331 759149388 511993270 661663735 216763667 669430210 976422831 940061900 876336858 131132759 742270119 474502266 803946939 554455878 906323810 800676501 307131557 292348587 573480251 988082398 355132727 753786617 807992091 983211185 359685504 933542793 448774509 843954612 230134878 197157094 701023412 909350925 406343393 918509723 950890801 141796388 320883886 253139198 407404829 593279848 463151905 613450049 453036141 190783962 869978241 309116570 101792078 425724079 809292726 427565505 543840313 550658052 219522307 253891828 998384572 733922091 134329937 972192459 683830178 834242518 496342628 697700149 982817598 651382836 441734537 586718280 980794627 818434782 105345329 109089659 457344344 647998824 782944954 871101589 540142531 210235977 748607230 246181151 341808574 221899965 563146737 601113760 396274614 802074579 158585974 619251214 152659973 344647892 847109207 866194837 340083705 148619607 674830725 864683324 396877042 118572069 320911443 545100349 714334265 391173105 982226598 412597438 940810532 645158322 654418574 726004064 310354409 834773052 826735127 945102613 565998188 893936231 515434957 602389739 804895385 841226752 441734653 813687111 947050143 368819794 911040355 721694173 714638922 292107917 891206885 555984081 454892342 504042041 880292770 365562561 104919003 583402705 271414432 709941878 607503334 747003047 714762984 343406390 964418713 629754295 708337541 326855347 408428868 585829106 551530970 745650438 652318238 452112398 638679542 344910515 399748827 796071736 277358455 307470351 860344476 134137447 758483532 482004756 992234613 991254804 494803597 666226622 664953849 786851201 544745112 281909037 668127030 403526574 807410241 332031351 797627399 943181821 374297914 944061572 706730217 904538423 109051736 517622792 878563428 285740977 390301735 562274978 517405137 185773443 717552035 269115748 306322746 422447476 952398939 402119028 600421062 570761707 166435264 255670108 366831537 212231902 662034680 322280652 258875984 246608621 933985636 955914926 705305596 420135746 556288927 997680857 195063795 525510459 335812457 997069991 196881379 535582443 411594004 436131462 270962047 626427800 293251891 318927169 892591352 906900910 385133505 717063801 637224437 991232353 390825918 549501092 958770801 165181731 892711819 813344137 304914850 561042527 694012991 948919815 635802243 819694634 614458587 948093106 272531161 745093732 700782708 758209488 171747127 545841926 466737401 263269979 163106410 162968633 965054079 807443342 992870262 132429038 194625960 120019243 998297197 500642560 132202119 972236928 984836149 997260051 259258469 359015095 361602126 661995008 181434202 863427751 665709925 120784974 311383687 306175653 410516064 742247367 139221366 504174893 890494537 587357490 718163137 153684828 792839492 930168815 391779257 575730206 634930896 960944527 862857789 997863520 357926103 512850337 762839623 174327764 584951772 191225761 144847648 436009512 699680591 933936020 983603974 789436844 461341538 900741321 222607177 289752677 207895712 207273244 551566479 963123079 899048222 891387757 708662756 581759510 665943165 362938563 845530939 547874975 990829306 120893145 974524285 291215185 101874630 884739049 896218794 780155437 471007353 887975656 254259879 320730999 101932713 899136170 298012248 199046903 136573808 147767866 345094350 647623068 857672414 229935101 613790119 607701007 655705123 445291094 594902989 591960239 354966628 447109862 226501856 246041605 185189004 537231333 995406709 827086730 123569401 370072936 239205822 962794461 434282363 304018622 593602942 225272793 720829855 440295891 852512850 961250309 390640315 619717148 586536308 286539824 397179563 774687610 371183488 955082484 252970859 240308303 583792657 274934496 222413045 551866452 805097120 655046804 787434999 566705529 548895986 490893748 209270541 832694977 310459424 950546694 148716268 119632220 876173290 928234653 286078831 252043368 598084929 982210348 203204819 219321809 579565094 732844563 669653136 809882876 834339878 297226637 733734657 877656627 421429380 540154280 534982993 111550220 310052503 568060640 369677470 216938584 162167762 641732161 874170383 911550888 775612561 649751221 291053269 155249499 259159610 569260623 349828008 367393863 893006916 624635907 744236221 953799031 152406220 110599728 212044331 993037501 864875208 728455899 327378104 449263201 714018957 219179047 282177282 351057635 782524385 882581361 509360629 796080997 406651414 665736455 997962962 352161086 933105206 866866045 398468724 968954753 972012755 940275871 446541800 243373537 904480824 484912788 125644252 709256567 523411859 153245418 679738081 763285594 216355963 328518736 353229642 954750208 959361934 411610903 373441428 561133531 491749263 323627487 239835494 914044674 774850246 559581261 516374581 298010794 801317178 433932988 117707585 325083105 845738917 826566013 934376620 305331419 252571970 705544326 314707239 221188321 167406896 954944030 467737919 423891321 248636595 548881269 307449291 580965768 866669914 934001315 299407826 431455269 495368956 598248401 195648093 568208852 468482565 318719149 923361078 901819106 589230711 949687152 590252053 432803676 460297324 915489763 357333563 236393375 322248094 592893778 380226190 224443073 130380386 886543559 160198636 528466644 636689845 765343834 441247545 339925656 320626070 665878361 512739540 155396550 990291656 733465168 948740362 612079929 224525903 443390732 254573819 786328575 979356310 787546014 738689819 858910470 295226809 852584322 327344925 537697930 944925722 432002629 838526499 296555653 364055965 530244730 273643347 605047593 550441419 846479954 201273160 901048965 223610475 553663846 788646242 178658590 962602299 796655227 524645149 761953938 475816861 482294311 497244704 840880422 383646594 322823312 228198075 108668055 817277743 375136800 817448863 782172386 971350683 638835706 546530428 193443276 319626745 660263278 297256447 374409617 872840007 343760064 430717394 526345296 129214962 509028484 359984727 219858285 392680359 692028989 416278091 909767699 521286638 869518465 416291513 986034270 551236295 319384755 573491489 994787990 430312368 257874789 126400096 711998453 859002910 842148709 510905831 388430236 578872410 158568799 399247700 417958330 554179007 803106157 973647120 363591320 575129274 186819741 778877926 806815790 165574781 957330879 384208771 327006766 108692566 205917832 809569344 405821204 404951499 171511138 357666856 681842966 762587333 394110346 480806929 345093138 449183936 407016981 503647156 635485468 997118131 210994558 112511639 199553053 303800447 888665073 943535121 662490200 555814525 684242749 445679641 276186115 347028578 824737573 561113400 295032397 474585332 600252689 565374775 263516326 491312166 262735485 196888555 781986180 220107342 543808261 969096799 940000443 280034131 235353970 363060110 705869561 540908892 672200362 603385004 246539457 609115688 983194665 655511266 326661259 514678786 196279627 752740917 167484186 206673710 841143198 133117704 180273147 385953110 505996581 643309739 272673579 119795889 946864765 233243932 772622543 761841427 612451843 926177489 119848055 493090220 659171688 447326141 240580668 345717138 384290884 738278374 862710244 492806621 181568781 238707289 614451372 567149699 412492715 751735086 558017466 861481743 776729625 336839217 259968014 627860847 593874710 289046835 779149237 355380272 533083648 792117853 515013390 834148311 647858882 849649534 323244001 848580709 986842443 721591530 949394873 974950494 501067980 915303288 308888900 645841423 562070242 926245436 302891408 922696910 724871319 849375243 909992608 854390576 754590854 299642768 498461109 357160665 468890136 564516721 894153260 521851499 352326986 670741615 149816022 999495750 938452042 394083949 560430425 323120542 516562193 559902738 460557585 397385971 635742191 857591947 734541316 221107278 313644879 561347981 816326195 593155951 527289973 415449857 752743314 533809794 453444877 257639332 531857401 799370841 645616680 105689608 142623206 953636148 319875050 619627977 649060635 970437006 804315876 294268198 710300349 916842475 684092179 633874895 904376378 729555046 867709255 678251932 794791052 576840954 759899287 451747515 734661762 539187998 100469833 523108389 388749595 803531043 538083785 541684793 955208530 225648390 733404855 897652767 871738792 733136158 961392286 205507631 884902296 959286742 194641494 753625491 423846689 180938579 310348169 166955075 252021242 797254013 654206924 990784887 580451568 277671907 217000010 181932230 800661909 603041054 501022120 982409845 218881812 625540184 359331115 661252898 374971448 878007566 296172374 203775160 798569569 188403416 275971433 633474801 382046773 254360020 841176938 387242182 890533862 497250391 251519779 553359105 658406868 634912871 716611233 269734760 647861432 494238388 187402976 629572738 796375184 958463022 545583792 624899196 301923000 428041988 220546641 553204208 254730011 222231966 747702937 491937761 886115032 736233662 881100569 637464933 870578657 815391466 771218863 233970713 578976617 226013307 655522577 890579983 514611114 254892909 867917688 189024550 826784852 558110441 771255754 593691201 419032640 582998328 543298625 404958837 219725176 785763776 110157660 817610160 590915796 830830516 570726173 148572635 355174962 212791835 286975199 881443739 401534211 342740711 207559847 851685463 949431747 130391710 273335626 673887374 758560193 254543321 752540590 622938272 755728493 187395273 809351000 362240961 468365957 532338308 290045744 714553822 395267440 543527119 935589849 371205319 547261720 165042757 263790700 353318972 301100090 257039722 355837190 685939576 221484348 568227732 488414152 242681941 751837563 329605481 581427194 394809633 793698079 191357226 455619613 554189390 473918158 454003870 937544907 400740243 770554089 685076600 486548806 559070372 130647885 627573468 993028353 170391513 642965962 598882224 612250547 721778531 778220708 155633697 416521103 995106592 564046998 308414449 445332827 989166877 882496919 812673467 323261114 570834823 924907296 840427434 543168535 703619145 832555121 106978170 771973170 785725878 942279203 327197001 486107597 743344766 937584804 996577587 754430257 507329436 563085100 469742925 911876024 824362982 889056100 283812506 314553430 837006164 944251525 196904292 308380742 524400689 642958087 272512224 954984678 753608761 129883095 770705525 143463745 919237214 554318371 497118328 423934000 532922450 264274184 696756814 349515566 884354828 316119155 165416272 232602365 598816887 695922056 583414950 309294496 791819537 916315728 628163328 748409158 431757441 525236949 481061442 443717977 249636125 920758255 978592097 314099388 998171463 170993765 791665969 893805085 933461260 157341385 341020447 731224194 657860415 554717758 320702630 137781025 388286458 192803505 850422863 529154549 586310018 947725706 552724177 358452534 306160236 731235922 639853164 649779818 316140934 638605632 728697964 882837321 864073848 449407467 905653848 162394338 359510388 682578665 602023980 870751538 487835453 380211644 823572160 539273081 554821217 148164098 454969864 228262918 987285609 618432270 397362930 995647898 519319969 218761110 279662522 207598243 219007510 519722633 439264913 218726987 220727074 233645692 819410939 437260308 145469044 172930931 116779554 574021569 684682239 951409715 403825694 625614090 883236460 918390507 417422218 365850827 873279779 208096556 821226481 463577535 931273533 210537117 187530184 785378211 120931393 790944213 769590342 430984138 714982237 903408566 229271871 242310652 206922908 427154702 558203663 652588870 645162827 611988738 947917929 134614962 653557507 240420956 560505212 816270825 506592804 878682745 873132461 615153148 363200042 393890496 468727377 272839051 738217495 780110919 404880778 767328411 635620725 354688053 297919154 244466338 285481159 634496607 458786409 499895852 827001674 694547799 827664178 880185179 850836200 248997888 778988437 453049246 543401053 863311611 808220256 841457214 660134311 521415359 296285391 530066517 831696022 597328005 977309050 843352106 788323708 179961575 175878261 972093606 838866527 820498455 938586444 151202498 382026963 378035197 303083695 561201319 671286981 994445776 557871483 902506944 806777062 127202784 892040515 767869788 403742548 193626399 633313817 285024313 462875859 332382924 879998158 443482681 771228375 754927166 564987246 248087603 861066649 495758118 478092123 182948146 193930111 216826537 873000900 608403815 351962719 302455277 568814615 693983803 206427529 783843664 530802508 230022862 418475235 254348702 858182050 475729118 570181069 510642248 649523917 117655126 263665628 618906304 539390781 353449226 921747052 575593909 749864241 947643603 450760014 323477727 459086182 196142582 490935907 184188600 740648908 538907063 145781348 277769512 284843795 914791485 992734438 611300025 767714142 172668021 950004117 481272047 741958196 244473450 606681606 904142140 812298236 602341021 918608379 153061637 308699616 369800786 153144594 145917728 675955960 125408854 475246515 236014510 497345065 776669700 389280181 323794613 292984770 103785039 810934386 326950638 607988755 393893782 233723935 675121713 945993301 614627656 872053349 879961390 402175413 392632522 353505555 799444746 721194847 988410364 506391891 275149449 811146100 997096828 197130477 114807344 358421740 492278208 107015851 297058048 838261577 151933707 219481601 238963324 327736509 957633586 529707086 566393204 859978041 993691158 757776844 954159808 889193983 802891534 471332115 780683492 663706355 383954673 212523411 678002634 477911831 257239174 596847386 314038291 728508979 970738556 892876057 730983521 667128932 178799961 257457199 174620570 526723656 507051707 907836806 441488234 990468149 968953581 572039291 898379311 552218138 972819196 997949577 160135951 589745772 606113861 795470466 894612490 268014248 836788167 256784946 190088300 737257864 398481976 418603898 538682735 862407541 455076881 432085671 590761751 649850466 998005577 389326248 717685684 196981646 202860700 593718483 407424599 224432536 748273573 602755393 642201172 485144966 537001509 884802102 458444916 417919168 339222350 314750543 780425941 725076860 934817459 987115552 269157104 630257634 728662693 383457390 333898876 705874694 535714846 950384867 798053596 569609860 916223645 778211826 397276778 152153644 358121785 294520058 583804799 634903818 983979303 528526761 512731287 843897605 650841559 403799918 392518259 790753688 933169272 171691219 463802651 523299803 441127824 256058312 699166862 840635383 408492886 345062770 296073641 885235598 412133991 764604273 890815975 323294972 503565984 129209921 575318532 307551209 592341303 721097033 967310699 125035196 154611970 927610231 660407859 405457012 362408941 883835545 901495540 114672761 778468796 721445931 805221287 962412734 952379280 379902198 524733798 795069043 823057716 832265359 550027679 476625720 953287923 398670552 433626437 495680522 110877383 360521998 962006000 168704808 416837896 655432110 759836200 775361589 330571864 432488379 688963568 929636442 694451484 890308347 710184731 983881857 205839190 454222919 193468929 737770224 910493519 125394332 640484338 821022835 350708454 540366844 707118031 571553109 928489498 658120091 325481521 585352742 118741806 120056955 118415175 623814059 803552922 392442644 314962499 401367614 929055983 800695409 596613550 412340268 776669270 941564084 769896142 742387972 279341014 722962621 277761833 960527517 666543854 760926783 802413614 594362065 669614542 855117564 134428952 882525311 570414781 492044630 107542211 125404303 627529399 547795537 894844320 788123606 328445448 879285450 917581119 459678322 401389771 219866451 102647032 770795461 377736783 305804889 860469091 992812581 935555088 673822481 173697083 833777340 142464468 220363477 264909315 424350109 718868880 500167979 138863859 134600906 436258544 656713817 300779147 562916890 520397761 362922278 909364043 164974545 492630610 958743643 984249061 506829737 402336637 345712176 532806622 414186721 392909299 218354545 386914512 729417433 925944704 613811236 957766710 244762971 979770170 468975724 597492314 377579564 702761694 558405933 110723710 629929045 264081498 909717942 842334941 806721029 868885970 539287187 656788096 694764129 508790785 229011687 119128194 151579687 928205663 175247819 553290329 144811818 462149458 731273231 639179118 877839983 204082496 272295698 159314283 441087115 286993241 714564353 294398769 601751009 251060100 610068943 851236597 580765194 973922683 223191336 497279609 159206603 405532379 744588295 601495871 180041987 974641889 794492630 465116385 279175625 861723811 496734570 728966469 870979242 515847971 137933694 714400431 323535371 706794425 712028071 762459423 893831782 510435385 473744643 779631322 502308919 240380948 118403603 481211941 147644578 757474306 410529051 684835419 276902618 355081077 641723103 427490577 726682604 104710995 953501200 645137655 735862560 431477034 510680160 916288285 705785849 669688008 693642312 580877937 199560751 420430078 848811663 948830370 729952683 896353310 984647846 692902184 500346329 506000028 846920809 888772980 196458411 726112528 516348070 340154629 182883107 497760499 129173698 248320715 956915283 370053561 581158663 224441790 546117316 735449087 921943268 795519583 454501582 997530300 217706741 596497967 220776216 193028635 781833313 383564645 845798257 707077102 228637971 814088932 880147560 926793396 575977643 874065650 261064634 867998364 493181671 938642975 444822710 830059400 236122936 857864497 732743462 371118445 694686891 727834026 494878274 511730605 360384713 458267248 540412013 280112794 224471797 441306030 868597259 436643859 639794705 184407729 883695381 154479463 518952839 375920528 589355393 314538066 349125791 943011681 724701975 141053444 412020371 176665687 976888274 191851284 493484692 444934617 738329538 214318112 780494525 582669545 309900069 450789946 826851762 192034814 208126911 219444611 671983532 898701897 666659934 911591998 423211560 656184063 390036534 328160351 243000583 684924938 815983831 878749931 282005693 173871827 194666951 773498570 719601682 534652753 725204818 289563739 429047483 199871367 585561541 449592630 152060660 395372600 521851648 115783126 489392001 279721759 657210018 483199229 819713180 602383817 169403468 494650877 429588399 187813798 159291579 609888448 817251648 273650584 895896164 705891601 634961562 929505777 114749906 631217032 786934534 162865071 346861784 788101335 581842874 526016060 807705928 399307815 544447066 775026411 884277611 248688877 452499836 689237208 882617931 497453070 691969968 609756377 358691976 852892993 405433749 412673573 300680443 471517489 176830519 445674435 675545326 700526685 750651896 302225155 284480158 333840179 230157516 326270234 176351238 709200811 795010903 840922027 362219747 144666410 749772846 277318348 244587407 318060326 613418095 606748301 992505520 572849217 296466455 783000619 464971014 718818667 135003380 185931319 290249463 892603708 694353034 195626368 294216369 153735978 347621055 703644413 669982645 886809733 565298563 549598127 269372587 100845460 676288592 545565527 403546361 696070467 702387472 834365104 456229458 624810649 477504624 126643292 408331081 206575692 351299821 393880698 332490481 292107193 425266294 199540596 878254630 702890308 874201420 713109856 628160501 586549934 407510622 712565682 262758510 736621945 711657383 285102059 790926137 195286588 344378440 905775309 300200010 421418205 883323474 636264515 503560247 306948562 378856044 296424725 562880322 546612140 234916017 489688454 500504277 674039446 978724101 444028385 528894323 942841608 780224465 543436889 258143703 639321409 473636264 673792017 296400180 589693148 948843346 834352181 400205215 497485664 947928078 742776911 631622014 597815456 813633526 270958717 640761375 132920877 326319492 450487009 834874239 213811509 343736202 911246831 292176850 617719370 975721980 843315484 834626627 231462603 137046118 437668773 408897462 397682328 949843896 954875114 779759515 882352645 259415995 336154876 234859573 565267464 861921068 500250335 138216103 360452260 547575159 520534699 377173215 474250383 476444309 252631915 764468914 527364964 444775917 128209295 981410962 378797273 363092426 985060859 502398999 438001595 734458845 152509649 875579985 886222906 827802894 645754265 784192867 235762938 688577968 166635958 126433160 317067332 260913294 730667359 319729151 108194198 884975624 248759516 629830195 530976008 655810140 531847003 178524210 522676585 750370495 825287631 403087623 383444475 950838097 597367734 305195395 538501778 357825412 282494649 877975665 458016790 380003828 562001029 315511003 454152651 592197616 370176251 478868583 446587057 253407244 441769482 578729266 825671429 835700241 347779988 553263107 848482015 451077605 982935425 470425712 887619929 998712298 357709611 245506299 167908110 126387991 134936628 233763214 161990924 944046522 189353437 148972816 774682059 603352363 942878788 916349721 114715807 861300391 792068716 954474865 314340931 712072205 665052601 299581922 122242249 578935664 279914648 941734734 124009886 985573119 576305085 116113731 768069123 239367779 571195855 183033876 308879131 952383372 368968209 949739814 326453247 183623069 581870426 955014077 403693585 498970217 440691843 940021127 113417325 347206123 899361183 878798004 396714867 449205939 294934050 435742532 888961696 957128253 883642876 447774181 524213757 385279088 400860970 338358225 309537532 119296322 177897744 470922539 142467386 508098332 308141026 257482856 145106810 905716969 210368755 408257788 455051020 522024330 119948050 483529403 454964357 153446462 895715702 923834215 586474815 197730865 433176798 338333430 711178998 108102935 959588152 671592572 955617610 581031172 498231614 384804328 195659621 611383484 559751616 610909517 425214771 706630321 658345549 773497509 429003166 160808807 481826904 363344751 859940217 814232601 605243683 587788183 468343466 620191602 452289261 116830134 886017178 774212634 781936391 788802886 373178242 909400733 932315891 957585187 205056055 429142034 969606738 311651871 979037975 470612982 911089087 853345859 499190402 550593112 799470586 213813807 491824867 678316932 295871525 479958760 426805819 559075155 950257242 447750968 434398615 408856814 581505741 694779704 580712843 140551192 930824498 487168352 788628476 249556219 922044289 864719386 262459473 760517004 779318579 255842479 595188351 240845093 699728721 451627692 686752836 462925552 369098305 169549633 540418834 898379638 134281619 738997953 865379124 328671980 611147268 755267857 145182824 493840072 757898645 267104273 349256572 676239056 206141371 635451465 808677678 820107113 277249475 153320733 898524602 370632684 500838128 916460899 149294887 499820152 359187204 760395359 160229059 855781304 280100710 636550599 528817886 330676808 939997555 564424780 507072807 554918046 267874094 286707441 435743141 289391115 758932286 981040629 637737269 767593600 511442468 954637643 485353637 832615005 623967341 254734687 188979575 603155337 167651690 102484781 768138633 341499634 831541547 822915445 637125593 478337071 733705189 521598162 670528967 814928463 241926264 415000056 788298238 661989044 290663581 338502636 999380475 754545832 899740090 716795540 878151424 529239352 917858295 142498641 988997110 198231850 512770578 699576953 998911243 467083887 850279100 478131330 108508108 797386021 225990678 997619434 594375637 301983031 785938174 686798246 379313275 377338707 319955207 235602940 299953383 816896780 853164817 988406477 140291636 899837055 241848166 207290004 315976443 255733641 136059837 336672272 647225382 357163800 593583451 192400442 925259679 537744629 574576343 430388518 512259195 235962850 867476594 933419463 767380320 633251501 278543334 887886959 323737014 601985427 805796572 312533466 238166183 249274472 656651331 915490927 633397325 158856722 890683800 448761330 303071667 340393860 289900900 809714760 149545497 405909747 568517273 566311739 533373952 251902031 764627879 801541795 284080545 135167398 137770143 315651589 553464191 913756091 731414507 331062316 985050501 471340384 688235485 353127423 297973776 882904380 354446764 552916645 301842926 684175017 936019800 756562057 641175541 664807103 352705672 186437186 986345250 189118521 152690118 576665820 353486024 474250717 288590490 959082993 466756367 759322214 909442942 348325608 410467583 835775395 900201958 115596439 381093767 162096221 505488184 798042692 853159050 926033077 861377369 507527540 538421569 244038641 107319964 298647393 967396243 926619781 307392333 307935881 820178807 580707327 730991940 702977748 295134827 189771759 458946252 209209265 699904067 747154813 861717553 438151284 676924246 152329627 470324703 630103219 520246029 722916374 931045623 965196279 141344356 307582387 405738895 459117463 322233526 939623350 562232327 433144670 491573083 927944191 556394523 168333461 692560607 943521837 285155216 990566801 914170148 980317500 432603111 327573391 158007223 551122570 580313506 432120539 634177560 637332456 933604539 778572489 684343384 565955595 581578666 807793921 455517498 454644731 891830698 187811992 323808583 690940566 680240060 376343492 382493365 539480158 810778638 546235283 596453533 326378481 104399969 289420633 954717933 841826619 945273746 503427851 881711494 215294938 493500380 632555660 181613195 986705279 920960640 818101912 705037307 460910551 269032629 902458426 793447581 656235284 438725859 838455563 438066126 596252955 817505154 609620055 963368094 192851248 339800228 187213755 683035382 251265770 793099814 368675013 300637154 980214069 165832877 803325907 559572571 506613774 941675500 920795915 412770388 899108797 262420941 597651608 297488329 295518372 117395336 435177347 732112034 408213386 140527100 851025110 433251990 629249011 157879971 961422354 576814934 478852307 523966608 399586942 170995390 328938022 271012146 363165713 617934006 541782903 319804991 309030411 793854826 648584243 370777669 109376082 797464033 139450641 473319796 998952009 709659628 408389019 439328460 101021262 452774640 321226013 667907093 715777510 683449656 352338521 885127243 486653275 169442783 333927231 742100408 979165390 283569008 480996251 476637730 584876390 953890830 807634316 332929993 500242648 243220144 530403458 339094684 356473381 169585400 345606212 553467963 433749629 488108317 760771803 793169817 368436085 626204204 106716584 493861641 152510405 196283188 129374180 120036047 816081870 466074420 664405785 903545113 916298706 931845168 937728744 501576775 915610584 297233466 676684749 835246326 244040798 542306978 384465867 143627830 572719552 478202252 367865833 798064915 840146781 156372226 988692869 117679017 959556748 585047817 332163660 941370103 958676093 858148889 242355738 143417792 945065624 418752708 278724638 686004599 331037209 318051987 285704883 549697207 207925284 993982327 847732319 779044197 232663795 368856494 838131246 910975546 731341319 705206406 517918105 281842757 928694533 126881294 726672818 609619492 214848906 816836745 676067767 463028461 792571985 106109537 539075807 103752177 253868551 836018277 660888202 818901482 902687025 598006972 212112676 114130105 409623200 822745292 443184488 522468457 244233437 470702014 462136896 262102853 978525280 985015043 857521086 486656056 713611982 798372112 929318537 685668535 223499810 718883886 425829459 427868351 320251941 258853643 964195899 206434108 266913443 753903286 978252358 604915965 657676503 590161666 637703334 465531156 891052427 760967943 950413934 985777269 104598725 513867398 623191364 335377503 476885965 155169040 305223123 937854205 527480404 842186882 801176595 131659807 205059489 460267683 775752325 949039034 905328833 916031429 923093424 531933971 212635397 255215748 677870646 831262256 626652541 906653034 150237653 953037078 656778783 487291357 567895239 704776173 467085738 895184588 512982038 131181140 156441804 723329513 762263846 905604638 731882798 493452699 788478225 331165784 493334678 757686140 686560735 124129471 111317725 703585967 888599913 307568736 171565583 689757324 750086684 828457218 624559780 540692759 235429758 756948709 190738122 134660437 290474734 487802987 790543165 762950258 976708392 449317332 700068360 531771708 550316973 804412220 702727510 520004190 297025943 760860355 918434283 441370374 312872869 823691710 801853265 918832438 358989579 446995629 667107260 676508652 971798746 964120984 942239655 941710446 790711529 377244337 943471357 322573184 418654218 416457100 262906661 408963630 241740179 128141139 294402236 275633852 751286872 466524400 136958135 166267559 391626257 758636710 901078116 973855329 122384740 278059889 672979199 530045995 126734066 305305714 457810848 645978839 445193413 714565540 452122020 756345463 418569699 437038762 129604705 339559554 375958396 810371596 170004689 212767281 344571286 883967997 995512880 579754657 637740469 155822495 525434040 936455635 937283108 939172835 838195170 559707805 103561782 689557264 807146170 688590256 748135816 143331706 419287091 900128269 447666885 912098396 867250273 511277892 910418814 321495771 618216073 441781164 813634794 855007454 907056601 575248673 263784401 823038886 381009045 444463390 377025956 821822243 933373656 547037432 845127506 784835259 671996757 298522562 495714014 720041456 552796469 376554061 777580088 325004078 351929657 641898158 463148233 123123788 203158495 311957846 281447175 132816851 442282072 637411507 251283380 414574057 312975754 653164940 910151890 859972658 981584700 284810741 205519176 763165929 374338062 109583798 372900413 832250853 214733378 570867211 736223071 807417940 762914299 114672978 906146351 174248480 945075144 796451086 466900269 181173944 808978512 619677471 818811947 686137477 113104875 603088296 178801959 395024921 421026203 370235909 544851739 632485721 963393802 742232997 807129896 516923975 433313641 743978882 811216113 862384850 365063096 206448498 487862845 515955494 868752093 743615636 303647528 976271490 699751750 569317408 566980280 321994095 302252140 472332464 839370453 265718375 262710011 653921791 137726361 688000179 710978447 759832940 500213574 378380136 966108815 997893125 848389589 768207163 866684927 715245161 456880691 949129172 198682510 271259763 518600457 806679578 337031713 728451909 946350250 102260923 221178798 505619271 638165427 194442060 435239770 547598506 492132012 229704678 432283947 305690415 424001555 529992161 121782651 972940595 201065954 725027706 682640461 145463690 614417845 903790368 520257116 128103983 919735135 135484875 410684396 448467661 947944665 640015718 350183385 298475020 326063321 969961030 251231427 385446831 979813653 436660652 341377422 163113050 292727053 207027752 233599652 932882299 721550286 283418201 321477548 624775124 189312541 688866581 762693504 376649377 814817480 773675887 230808310 573838580 975394088 103384384 703434167 526008512 809271023 412433828 967476528 817920673 841104493 818395115 593037721 704038831 620219569 342409115 626820933 306700987 140607673 907224483 545141914 461059721 765186784 786546520 382356497 657756532 809224709 943551961 951775943 414811290 388718451 488110195 606882215 852872149 794597468 846842078 516583898 281682007 447323104 563021236 767275216 129718786 649103919 582014332 714449711 667885054 280333801 948126677 237760081 652480288 437969733 332032972 779014502 646234046 430792386 784169889 738433292 195061124 121602888 747370762 335842192 384942465 105191373 409038753 818695574 162618780 448277161 822748751 175790189 585119452 119319430 904268571 964731366 662167826 168862064 663840918 445476110 112136711 167327221 891853591 929930577 558890559 236844896 992999049 716600922 982777180 302436223 254646158 684668693 376151845 271593374 757135586 112876207 646189106 503592452 233504530 883614176 147225931 119432825 161628847 743585261 510418701 733542090 437981971 874619920 946796762 675792522 845671667 881725880 716867163 894019497 151070665 121179461 825509253 296383034 773049647 359924562 193588157 476922735 673145861 840195179 997887722 773002818 634642830 401103150 266033068 411829642 322332631 500251599 752851415 122193646 275795574 433691571 840013756 714388980 796860628 213108182 374263419 147594391 782177730 547016273 204324035 867061202 542707709 500512539 363162162 100474249 612323676 603785590 854305291 665415092 408047594 261915373 999278214 594344505 369905835 320189037 565256211 287810649 807966126 144360038 786745059 371808457 706162811 823111148 709085346 991738403 454273211 112918946 319904174 254213501 100216945 205302422 300933218 745144145 869945404 546533876 370521063 870839966 617417462 320448700 816844978 471616597 214830768 626754563 555297443 282311454 491819984 551879830 435139059 366048604 910707573 710716276 125230467 165724009 995897499 695433902 228081463 107465537 223572895 958050596 319835192 126023308 113513363 377542116 993042127 284544127 527605855 162105667 168159525 213748134 383647140 419336915 210307038 554235512 360012214 871148899 523278225 667926098 476746616 303725284 769228386 244055048 793473248 105182354 891714955 300870329 993417080 796840925 927477344 171479436 345742105 432689285 422868228 856229214 901389850 553275986 888995750 998434335 588866748 666798474 735615115 987361062 855868359 451922224 111431923 540046021 932415251 335790765 146819144 768358020 740527185 557274932 118142526 684377456 686198728 861677915 928716110 187689754 229971515 585548581 193869595 779507470 108910425 641933998 432485969 574431575 347884922 812497559 985671575 868401690 451362450 271086519 988461394 629422839 112333740 306298941 999762781 706179110 273341561 215908633 459539241 433407364 236552867 942316239 455841685 348664288 437461767 792454673 251811261 156531145 943497803 243620489 772895128 871787344 533621672 901796112 434320532 300559670 572059627 150430208 455369770 804109648 164231894 794787199 744463311 601821313 982873236 720560375 356020721 107832772 598354570 771886527 594367189 879797017 730823864 551321529 873591850 958991953 568734731 857019864 529351767 663991191 858956505 338854719 550270256 564469779 360254187 985160060 464118063 640566393 645736351 666823275 968955093 119513532 912203168 348190441 869627219 344542129 149850552 277022785 594004701 868350112 373095094 753654109 576881166 319104570 966646776 650915954 453546001 763750119 266718036 225131161 803938039 581832811 935869915 140802758 346922396 164496047 449735431 369897208 777479762 749701400 920773846 831062746 929244014 692972215 673187039 938154610 418367001 752050969 355829208 459793365 685332890 934093938 107999819 707376501 398543349 252142239 530731556 550581143 756572257 247394418 517811153 220207174 558937062 574233276 484990613 391619054 195445366 458738123 715153601 383623962 884077422 175401542 652188144 142751020 915103174 431020356 756717772 837169599 492374022 450132941 822004767 844310887 544047325 880349231 696510311 478510974 709214058 189478431 122993653 298199322 147364717 795129197 911714018 269125601 203481280 591009078 816288520 461615420 993345387 277723418 750390275 730958576 869722386 311701157 957203230 307708732 416361044 562982811 730901511 649917292 935039977 330389139 910127616 587864453 835054596 478640844 213621635 313114665 833125090 410616130 787349944 253063444 982621019 698076393 361902973 203748041 637506212 255278879 351789307 802257937 871709153 938654825 445431346 711114857 252712778 789417729 363607558 874117208 206578104 578380767 359277699 386264308 734141330 286786928 826563315 228473331 869621636 528625229 732059177 643425452 510141567 806546664 537329564 313995239 617224898 971039903 148013955 971182712 764191068 129623474 809139808 154426126 721008108 338982299 389109895 337371760 998868900 316567113 834678831 686011768 719844194 616164040 840964235 812652272 108851769 621440141 185041100 382339770 756455764 523030456 194837996 311301356 351270707 905977321 548886362 227933705 601286600 433237141 659203787 924894436 953095012 806026929 960189701 335535750 813923747 448270096 223853065 465558231 495356264 364342225 200064702 618697948 574324666 709428117 608360281 366976239 330279285 987394645 386653750 662133432 904511380 105160382 705073539 738254405 662547343 796229755 284108373 802228802 527412850 473735472 615576796 335316769 101068134 411195149 902590144 470306498 793644740 192429170 980998870 437583273 519600894 591604408 788494784 789982290 401762509 510324302 684390402 339445000 250364315 157977010 945376283 725597024 872168643 779577933 830316639 211283384 525678816 615341705 791341174 549284628 220436350 364380874 166977973 746836088 173256027 459267209 197042066 283643730 780768385 289775719 919718708 999406485 578986466 695184260 985825746 269222452 426833195 652629401 472796984 213349275 888667757 635831018 986716754 550814547 335160605 230827502 347796088 233602593 636679217 571009178 941340455 892994677 916406532 591108473 440785690 983021604 571421146 880817561 411353571 353914689 220887162 318264098 389399079 618578860 612720370 361537411 718429806 533126149 134253437 307201521 174673803 694868693 908941181 189692394 234076351 646035155 679943206 184517386 784054652 603441036 317536253 462911855 418056193 872297625 940729111 301750770 111234832 979172151 787667828 713550839 582125543 636852212 112446759 758479437 159701234 486012131 197028127 161613488 159388219 112407904 235316109 765605810 379961008 846429601 939663903 640639452 175579926 150553835 729736717 368681530 310169328 448470492 253266105 199000247 880774494 740301683 864271488 197059070 283264208 756524213 163147133 158368979 329715858 927693805 234928016 631777362 208832671 450097593 277287763 264905244 678928998 714637225 736201562 657864116 773885838 983938105 139722048 211588273 275671685 198792001 193327590 597747316 175152096 982195683 818329014 768120755 449519650 553845321 937310991 831593316 117648372 502470779 719650177 132935700 952122100 654539704 689148049 929381049 411066922 400345462 543332749 988197426 373029428 613534706 954911686 560141203 525004286 341536688 141830987 156182704 407819834 293636947 826787758 362514172 685345820 649550826 386142910 292833838 740353565 609851441 773181501 547759702 352074842 637458467 867536985 711819767 199235209 742770141 633129937 952799138 912571943 195645271 189127594 847599373 569761970 189672843 290684294 515625764 640766347 340165527 235690201 333901973 513784323 903096374 846598624 118427833 831966557 710077363 882663402 924071267 202406941 625548911 152751681 242996073 103767402 127303992 172630848 333939370 582646044 672725551 131743023 662327385 845994814 109500284 569464489 967758459 467513298 518569590 643681705 450702661 111089029 944209919 218716616 628059537 773551308 464659819 820840387 461663383 739854319 200198027 748602170 759828397 217500853 179510044 432885740 827071725 833579510 644709183 743944293 985721584 357209936 841468810 221288958 379483100 104488255 768425375 903031911 879635957 373150471 864093930 859967813 323375166 526691790 664087992 613325373 527145975 140917252 178821837 866015348 268076004 659060188 355076857 759257891 932510522 910435005 735686620 766369191 528808235 242481823 553659384 122705110 987213341 670388683 199885718 465277775 887036444 238343193 784361502 329936989 154534615 668158037 865456371 400043857 865803301 141597817 994768158 563406425 216461727 727418444 636328783 752609120 103033078 441038813 216736019 830172287 701635880 528406401 970452297 549250874 576586588 101053389 425195204 939437185 866378038 134198584 968327139 738041700 389980638 808158209 500062521 123636977 918497192 559147808 410034795 373410676 911392685 749306448 999705885 294621494 593962717 611548999 638068087 951137961 433676868 579459546 470188225 891217773 877236688 210686542 837349195 275548787 681483849 592565598 529598149 611948876 540900036 605474917 544616286 311533207 646585242 254307708 323034189 774450885 676296032 828171606 884687098 964742468 721785861 467326637 286967790 946181692 344417285 502487483 422287609 539988176 570854234 597290077 690712161 522100353 217944260 486591535 324775457 243504713 672037021 391320555 973019433 915134291 941705282 159022526 795729883 551282437 968901794 405543228 867090825 166988218 477782709 551033935 185430009 658832510 557865112 646300143 145119525 909012789 980864239 911807762 705441476 947633300 508543700 453481683 515662753 890015762 337390560 216442933 275365395 187504187 187794538 769580867 393218418 787924016 515722369 313246745 379701021 177305473 250685742 172898914 700566712 488474759 220921051 742921422 692013929 187723486 749283645 863497355 815797052 417997397 254824477 945822482 257458328 119386099 710353323 668834628 874647625 661091874 981336757 926867158 227753192 488914946 193599880 500444810 737278827 262375822 533102480 776139586 695037793 544514747 382650812 970636441 283288943 563165118 568114457 252754500 584535807 455204321 993386470 416016617 273508498 899479428 186491064 126894780 887953597 920457157 678040944 925649853 455201581 625701235 694539335 340765696 821303822 561886788 652186516 250781050 920494202 924882138 614794589 816653930 901523088 175709248 930790080 164506702 254701095 631575325 674474533 104887206 219216537 230858886 881725401 478602211 735335764 652991961 488137624 371886192 494333352 972061730 502334199 611070188 126727803 915285589 407594675 280516915 160662608 775081167 604335616 287557143 895920056 177457843 583579873 169602329 965703578 966422243 599302407 515103765 700628059 812813449 638274302 935721388 913991872 692415490 408319113 614319488 692266011 713931889 848188305 423506348 510023105 563440681 922111595 428798311 658078811 767580668 117323903 173508952 636786829 810306655 288766226 267320926 202467682 270231399 797405873 841533923 377482534 873720173 499951158 150187041 708126977 148932621 150073903 786182477 773513818 794183144 167074964 398246953 420894125 194954059 453423617 356678940 632091424 142224070 775671405 280321942 461323717 583774455 168612181 784434709 106665460 964467104 925047503 265037537 688713040 203066371 769875242 743174458 512985134 948591599 703822155 565395874 404710841 990147013 244376370 201103889 513900167 457871409 160775281 492096717 885661023 341235522 875804921 747874898 782199174 922145608 211442391 659255485 687197506 222825160 593329338 590179601 418557762 102815000 634215110 811941676 963645580 837472827 603929306 979002531 168627079 628953087 481589204 969784160 910068093 225189790 497600510 225632437 778396706 570873515 271057444 487311176 419910957 263805108 219117564 164800835 899343573 979641515 814815394 294581746 811507638 336487795 379726055 749723195 433177260 320189065 859290106 281036463 224406775 269235165 493685884 156005963 765067302 760869662 746309707 458339530 766423351 589037617 413862574 903787003 553263885 772402892 859989784 747109531 923922856 859506659 224723653 757065625 177223279 622029536 754531904 414348432 451163059 747331463 612557061 742595440 460619751 674486170 120021235 505541102 743093641 977453838 887315521 458985634 643669940 194215722 897619825 498129042 442961783 168454468 420571462 503957139 855897804 239809520 575729519 695327736 664895896 608273911 827167543 703229488 762741395 231403037 157187712 524964551 155164618 136947032 832761296 198821410 281098403 314149876 320583879 853121762 123490950 721610488 385648464 339907265 707686852 600065346 818786817 919424674 968844867 934530271 481751615 475576057 337896941 673513901 919972760 622787168 812587485 927219630 611081414 657279250 327496441 516087869 621047551 135738307 530771559 972335293 293885787 847515011 709789822 592714082 822174992 719203128 850367602 481369977 361712747 967592811 676833908 546948598 786778314 105024981 222608685 297448738 816146736 301406784 367801038 525585925 292771044 510260468 702168521 257396181 840801498 836764840 828678718 649575812 814609221 161857152 982540824 190284466 372541799 327795950 434291286 786575534 383285981 901925522 220596402 882639220 419805730 491182466 901730565 322071989 403440551 295653007 965107633 819244579 514372835 638291301 493070427 902908323 580937904 158900683 448428486 533054843 131645548 726258349 421271843 588232382 141571035 736859407 650837159 171807272 232139608 470334220 200700724 359138334 626439219 557096135 189695918 298587437 424271872 538950588 235153677 447209715 386539873 415709450 873104022 901522102 266737972 509348972 826655067 486039515 431859098 939096895 989702430 586635865 138441670 413539425 540282506 905923804 731608733 714888075 496715189 509840916 112487582 978420214 441834255 339051017 415313899 491752461 685573941 326203635 919138328 879489514 200356973 309163802 913007231 613971591 474212640 942403733 545892568 374993992 712105225 869983705 314457439 303527030 309863285 331923340 709329976 143453484 331493450 305965869 204616684 496681210 846565284 116258083 967914521 747492682 116010930 823886484 644744727 547829884 242626230 689971880 284711288 752722580 519685505 439223831 164613254 613406945 273456800 456822557 858709624 394488671 832649029 109042998 550740507 888341440 232925348 701232369 913450026 698665246 716693737 233242392 737424324 741918572 666902788 739544628 130879463 521771542 354198557 477406857 615470098 227822719 151157839 925739674 553381432 108579422 538703814 168441222 960321605 376586836 760294831 218722110 425005395 921021358 991373840 528117481 393764960 831974648 257102854 858033953 892464289 610877588 491857796 416799213 279988468 645234307 795871991 600150075 367569846 983240182 364395206 345587022 535820223 740146356 487175384 848814873 739477323 999227233 207515157 657488109 799309021 129233442 929794020 146047904 467026254 755849335 148598698 343496859 145288684 465914102 922348555 975229547 992452565 393536191 789244342 754798260 342268011 506301088 778499913 982552878 487631410 547337381 746954757 874836039 834448783 123218906 638224211 538560298 113185179 941429692 629326980 137936560 883979490 500020931 261739047 120538183 583585546 182535345 119154679 775363090 873270539 817211257 108634954 254710028 150736469 879791331 534166058 814472199 387154057 243826270 977243718 851583155 481913710 180655965 792733147 423813701 564676079 225326080 503710648 118933751 682730211 436696291 431677287 236358516 490902354 844848740 199543408 283130276 257303600 421916210 193833481 130598553 421358442 620206871 999285902 396767388 400609458 660584626 167076751 619456177 896388057 348958515 929753020 430215542 999626094 719896915 407376264 909470520 540904331 386063478 722640534 724054857 966018190 179285050 808442889 877998364 746154416 462304890 782062613 508008078 966351236 700365758 781235928 594708949 994192021 103495073 306422219 297145173 264396579 114923097 161281927 828785915 243388541 324098082 515225982 485246785 940816263 339967163 170684425 680880800 856157597 584004359 873968902 831073016 401810485 330331220 701480588 616631809 253618693 695807586 662839338 685664791 117302207 167633125 588133161 843724655 244481667 845463148 843532986 568778127 928337648 797566773 198107548 805578515 249453236 600248779 993520687 685683993 477241239 680244608 214780166 213054178 433567760 391875327 266731862 146690810 231879944 977002811 371728603 232479521 634648674 499844508 291140654 118184309 702996812 858870420 169102370 376834191 269102840 577179439 342435142 658624061 881767101 356482811 741118099 594927486 525940653 758451927 371583295 322548124 970458361 279026339 834625531 127964444 555182432 988446759 775697306 424108107 813765323 635622995 490186954 209738058 452160085 514196346 280804024 825610775 320645610 898475956 796795135 201121177 913650926 837107419 529298093 470928018 159423232 377893750 428062344 651496156 224336432 812536092 892160273 194803462 717510390 390454464 894906217 798077085 279325040 783539660 814397814 160436598 461363434 298482026 828323986 710056206 947917461 748028743 947083223 167219226 754507178 728095516 585162425 168127442 527448151 781780819 742429032 482152792 325196201 211895695 847369601 825100431 986499494 101934190 126116318 396964009 734513786 214281029 133515303 804607924 574884328 569872997 504907249 484550723 327137936 779222155 561123020 902770673 950325235 616886012 223964686 232714965 657937140 432497790 413702332 482550965 656032175 307566924 877652404 138630651 838120905 569457669 610314052 341106471 710275402 651924705 134879990 674000976 369769875 165974942 364230416 233263441 246739018 273960330 274934148 248643777 692312336 950687205 786958907 569027568 153278019 381838098 656023830 803837947 466711066 572258931 102536681 256661631 671825183 732248520 290548212 541647005 820201130 932115943 542259747 409597604 770272501 214919140 110810525 221392276 539681059 433928626 478618058 751904008 438648494 304880655 825220630 371610178 455636002 437602714 528266983 786274838 375803316 709736491 749490458 669999445 835707067 775512107 661472910 200070894 767348708 624574413 419045614 756360104 337151165 100126209 419147061 932138098 716426042 320665253 260123696 422177382 218277833 981385212 583967171 565573651 802968273 556372478 862313636 535185389 226708528 980414780 375103275 880055797 825464272 917743287 923017687 191787804 222381836 272533413 170562273 844201187 230084040 559852110 294524097 461206856 156503928 399502885 577388631 964819971 913802092 198030419 517368862 481886369 408713360 330388129 125396363 115119844 842976629 683522719 681887695 723021715 939183053 642342094 415660308 884064253 563761320 232860867 533511754 909671043 262988690 722093649 903549293 494925266 773293697 508787771 310904005 723871755 967888012 826241636 744874217 780835459 480220771 669118833 114736591 602824587 591326258 432309489 119480994 137605382 421748665 629575438 275903721 382424984 599046148 400279687 383280618 621031232 791666633 677548364 137415247 791955580 102173704 378518668 985921444 433351977 881788637 228379917 747813982 961960671 448546207 300653913 199713823 147895714 226885885 821032560 638421404 499597107 547141140 497542944 799622584 494021359 633199301 699212045 271363643 728129328 142865614 196042280 809857926 395730864 911572440 751283525 967312895 398167028 887844694 385467220 147074953 440170707 764881423 497256316 613692232 819319182 675825323 622103791 197412409 491529504 797210723 223196053 270388167 504415367 939204145 714080962 396217460 826245723 157077438 708622211 696758634 504383263 554671561 505235833 175605157 951429805 989840640 690666234 572635067 652199901 423553210 935680403 508211342 107705124 568404375 870513000 160368446 554624425 773666942 564707233 843885412 596562387 319414464 878636980 369548980 616747510 278722828 259355048 746725156 424990491 104396513 384297025 341780298 711232988 821826512 192331046 791072479 715221055 461113130 723439154 451695425 958403174 262637281 536841441 228267952 833612489 481542624 167379095 178215656 322009902 379830292 349644232 539355600 819639436 706566206 217627081 338765169 299662685 412636961 812677247 532022568 389514824 408106523 115477588 301260388 596078487 769759129 236895555 884521968 278910688 945494980 109563478 985083514 447610223 905969858 999243203 696120969 996505868 391491621 433843063 638173896 192930065 720623035 204327072 278111534 438376475 398012890 814083446 117192661 863230443 580042401 546877460 907850380 802982634 312339047 585522103 357390510 877202302 981402802 311552785 246815318 528427832 778377703 805377046 478870902 241650116 162352481 120576249 855559387 682604218 532929547 234147678 831470205 740293308 421140317 661078565 111332694 216210738 953941727 125329474 249661663 375236927 731160701 894624854 314756491 526202053 340947594 307255492 875989775 719878121 843197348 362094042 664432302 860389238 908317325 673226660 426720127 810645526 813689798 662804704 146712047 388895832 209724050 554503667 915571927 504141031 987782788 577241197 737231414 840660966 359201471 919387292 959617425 252272014 372495010 575743029 145220287 990835697 279441723 817904970 197964195 260248944 650155703 652863431 720167156 622777237 895037385 792544599 889145517 635567796 392859039 586178324 565147509 236968483 482388133 312060495 471283033 621523900 101818134 809318570 631680908 252599700 203592457 284093567 656483407 177855885 856805986 616236190 343503231 210239102 765559582 317204182 203099896 727178944 114635817 768203340 109945844 348503805 872427437 818328117 331184827 770218166 516310593 395463222 559109767 332358389 137082119 345800072 124736442 191355191 860013411 332358315 194542727 510026331 806544938 772943372 925701018 755919525 640611299 364713186 144909927 145506596 475508504 751814458 475910077 599459230 185402402 641538672 990019398 110460402 379119996 443745609 436162794 491716565 101096096 737522421 758349807 407096717 940495608 943737013 313353191 324866774 290705092 624984670 923732431 553394067 216436880 547256261 163911345 782811194 326866325 602173980 480643992 495353178 868794276 475183808 558160242 900916781 221896096 697532895 722774858 896169435 499357348 205534504 470903993 129155236 953654523 760743339 191187397 613561269 659625416 187315404 534200862 805457175 145207379 704605759 113076683 473689467 265119169 336292530 339624373 557339276 236835537 627788543 993008645 678084233 951953216 501699867 644185182 952238097 666376819 499024912 815864051 338019953 989361513 903169781 499845793 692055341 651960708 501350374 576489658 347995219 229477466 177783350 845630610 180933764 994477658 218304599 275226122 396310851 840490463 151124404 495826771 999697151 911308969 336109394 921334297 466843859 621103251 525838325 240824602 585383238 968592081 280222765 324576893 634416051 505381121 745770718 870032655 781921596 554092885 158756239 608158915 264938534 738718839 270174911 700886857 325738502 553098731 625718446 989911598 234077138 923923415 946331685 919890805 275877931 547172589 636599551 102807250 944797017 331058103 988382142 655329706 209027708 920690533 628941524 756467428 687422955 395935486 329383724 570595518 815638747 757872685 851229399 656073621 389855556 194248306 165181922 169525762 391304433 106966265 390279197 783796222 776488365 753976676 711364422 643903938 422358281 669154748 795920886 517686728 570646166 355354175 976542209 850992349 179162014 486196740 463988296 301268365 615751361 454298785 130009190 595237581 138228760 233116310 748229218 631925279 956074948 901466279 424108171 840002932 612095916 816314460 541612503 121792428 670275751 523908849 160954914 135157465 699606334 649020229 687353554 330844133 803168271 906894385 539400582 170828968 427303736 916695263 877066397 804495140 680714095 368104778 834010548 799812330 612498233 762623612 632685503 256831757 863537377 294719440 960014978 580250495 301708384 874425462 984154494 628378250 429618781 530220298 305900652 813852436 248164325 590037138 404367991 861417385 604714916 661543530 119053124 405930182 348196061 452465910 750494080 113661128 956670587 799372222 468326310 784912722 962063897 391528228 145300426 512103517 994778906 455177341 138303476 471286792 438328855 259502235 362305399 942859688 300771418 404293004 577602214 753304297 187146113 569854604 822864287 121218835 813842834 229548100 828069261 901668903 995445922 661299502 748709564 100629415 146890675 611601066 795622734 839553646 128802922 451187693 975921249 222304460 169094855 335041770 825220851 178208267 474830746 694104204 612860761 396495676 431568619 686544809 629868187 376315430 184969045 886187895 814716742 911132538 302272457 125251751 948437516 135012288 237025426 169778273 586388912 926955264 945790404 830393264 407276049 124864169 981752542 747315345 814077512 945176755 971620469 184762527 894677878 958286213 506758572 365299340 551022116 987165058 161664986 116981868 560698541 782921022 850163751 817171925 933275425 886309721 901398341 272641007 118364451 266473133 680003183 806675450 195890578 164237025 938971463 528385946 516623768 923251603 398243978 476559523 634118498 762488909 930003299 218334190 775929431 152815728 593313908 367422295 977561264 946775531 651330726 525554102 511434535 551068073 824991348 172428483 280790633 850188375 103062193 924284750 101750189 883672753 800056459 530028666 539941432 181490817 965429552 914865919 846886763 887967853 330916391 173825439 623618736 563725333 876856094 154030623 797245017 787524737 181148771 206679468 284934355 747706262 302712268 855381066 673371899 441753261 196733479 365064553 434625004 742574083 234112199 254059998 349374913 900210767 270508979 437588774 847781985 799726808 334271343 364894151 495704227 973245713 829561372 719614674 239144928 364852473 704674338 741396302 441753328 130297044 262858742 346661649 802052804 790042903 787425676 783653052 728796426 227719498 728539334 111209889 165830793 379026040 437771442 993944037 478888697 645724926 662749907 600029042 582009656 488563590 545835444 208194047 199094772 186242907 773634149 196686226 241972362 364090307 455830363 517428340 995319763 594236383 621455560 701681119 796567220 824221391 655473651 795632949 713405845 785020199 773847023 271370193 337820757 285057983 535476788 685652794 798768197 915160043 770965161 927302132 914259435 918426787 600622137 759002156 411438908 203183319 954939492 912843548 291835316 876602338 339507411 863836135 634211252 242784189 394996020 683486847 643976142 813126853 258909299 324585105 177126849 510026396 276208628 875953962 765279155 904502244 297733001 375170458 770830670 603019126 598283992 799471623 567709326 819656261 483284024 117399548 190396705 333744133 431476305 890546356 109807862 876648855 769365806 210097159 312886044 230290801 608234636 780229694 160178288 255885101 904567620 888924210 716690116 107160862 364306982 257286478 235717991 786415441 188475809 584967578 324950975 137085293 254345916 478435425 121754705 883551920 787380124 208402222 524562332 224377129 260899509 945129520 889430591 650927866 544799163 849252378 815227017 332745677 116772300 180669101 767926254 418518104 882035743 944210424 235998438 305500963 492491272 279443137 247808288 240737763 136374922 198016372 800619033 404608341 601911846 409664114 630552783 467501533 569896497 367468120 602081039 167263976 126069743 698852189 215876424 806225639 914589835 966574476 281866895 611233935 147571810 630729261 136268209 116747573 652339615 567494003 126096469 838403579 543957877 749306872 480231553 734537852 802082443 645555845 444181010 972408431 202103087 357186530 748554023 567032839 418739191 518746133 918200290 649380793 309979475 391690615 182459456 785904640 205083512 251810467 225743712 241840854 660582333 245262700 303608578 493469339 148095666 865595437 152980593 248839985 960018001 973942707 375377493 138332892 892075745 186800620 433397299 592106097 288930535 241804261 892861091 476750057 384646855 503122982 174055564 173896538 672455516 909282845 884188328 701614562 468297650 613577525 466459587 792726641 245440452 948682609 524560125 333332583 335033102 728804930 378656059 936823673 897158405 749146671 451211665 596721063 617841323 576602663 791306359 594336157 579277275 880661058 746728077 151118011 424722694 857297948 208658803 603379144 951872688 237912854 795215948 500556240 217883300 613637776 470173999 880397022 550143871 779038682 248015029 107362937 701254430 441063900 949395743 775259536 277642432 836224950 827612549 956948477 441116480 950165378 525531409 878053868 127601713 330140620 537743800 176666626 198292404 722524643 791925266 642035302 936374741 680111637 809588615 374307330 562861637 589081360 394853713 974219759 899085846 891419639 158936832 742874080 584354512 808151510 446167814 314732337 835679602 337346028 645173262 337163947 427214739 248442814 561548883 412059737 138297867 955327497 584768684 488583735 972829482 766225603 185655670 793288488 488096542 480548148 926482963 770654368 502498399 702525080 734472531 839974794 977160745 848034010 837880074 589424222 611734414 568592407 357070134 162502924 761890850 392478112 452856349 596073322 524016594 304056330 111787104 292584903 287447727 294138769 307893697 611897591 426048415 448471535 350934945 204035265 561680215 350493253 424704140 295107542 524462058 391737192 676604819 210244865 831874631 240263585 234879837 974832141 896797972 564482605 976981945 134215084 652133155 809796296 445723785 341527981 848245695 668971980 804266295 514969089 482853605 333020221 530809088 524189792 482375662 914225389 336278763 666791466 473065479 373230436 721135196 773032419 745718863 847377284 393920493 379118474 283816922 331448974 621660495 816400613 760237873 276834531 207440001 482115780 993052174 910292043 863482899 759468607 931885655 790800654 897063690 716874096 143527976 599794374 549675931 328598055 704251183 648930454 996200774 639888009 488535768 890536270 280536278 325651760 556057452 773135373 531248568 712914219 844317997 331647824 476416396 267692752 706827622 291342771 716854320 689401365 519492383 229463999 710740565 475595284 875505474 230337995 274002779 571671978 923671145 340082888 556828253 480052993 880927351 135076582 685217573 550065971 555901924 317707653 442972046 187985940 435022910 118105350 451328867 940954128 424718286 101261779 721549221 976252381 422746633 245373923 328318037 358104082 303081575 300332415 489675030 719235460 100911610 813427227 422265445 971615434 599571476 526455284 915026687 801718541 789502184 448498851 903580334 530425565 679652748 196015874 491725179 967378959 989959783 457404316 449039964 940775047 108659451 454511051 529881561 529177806 186398601 144508319 534079889 849979852 148799599 281496059 534661989 343128355 188926380 350876750 455245591 489405716 793134171 983698531 977330452 872070123 825603934 562615841 798967503 526950847 974547724 206154458 779620719 585499327 356645445 994000363 684707799 645901455 569140701 319246897 555782170 408187172 741775611 594781157 316726302 417034114 295629130 239320913 285180654 746582365 275477685 331410366 537833345 333444953 475880473 582041917 430329024 697520604 507063678 588542779 734724955 652759378 863276085 277255585 472502272 822494192 738158843 598244519 261103804 541947998 309034313 926431132 992909188 311131758 908073946 728940239 643450976 107485433 280927301 258243935 462003550 122047027 625808924 741934279 476694756 201716332 321946462 257044531 271374767 608460809 387500930 940548049 524132624 944926588 760694681 617436914 186724838 940438778 555114714 629003649 450617740 120512404 746321699 171949456 272384622 457837304 587560925 203009245 288439530 538177036 838698793 320584071 777232896 774717619 882896658 681820704 392851223 820314273 627529792 293104112 681661459 132988537 960445117 308740269 604403598 689741744 344322653 187140147 663375646 631320662 569783606 153887281 635026020 481036965 488734810 555691823 453111516 151152749 629447445 387665921 333696324 647458796 954350941 309435628 611316136 756386676 936977219 338983566 763112003 157412344 288325789 901082010 503429477 406567311 458549306 299710662 446612933 530685127 567672484 695551960 251410756 816051907 461140241 329669940 323325354 670429045 366287430 622409208 259483855 841704166 974607794 989242655 104249040 826089928 724185052 144010630 990885215 160988114 244172385 936359209 605096741 807913543 898493957 417735890 589083351 113558283 589110491 349132396 522663188 692481439 331094080 404587708 843094134 368492348 290869215 896905552 732211638 445763961 547003985 666291244 723654847 509523220 774462587 527486431 320505146 600766118 291123747 743750420 109209748 147557614 482819222 283921608 837596256 529926723 488082312 464316923 186461510 962753095 797228628 786086604 468716305 894935413 396685202 183049841 281294218 398914708 767899063 107268161 705116157 599533600 253150139 163336966 201115141 651586966 191130436 753527567 695096165 832071443 111235832 427513837 147429328 536602459 589472075 182900573 260212967 718525735 941775328 769686137 189954689 515010215 251726071 438251328 185109909 537826621 692884616 946289460 664976651 141973200 933812549 436395822 293033870 443682689 398295009 967768394 948638961 152654657 981808161 205131136 232906205 168912316 175468584 975510124 206973461 981909106 744801924 755011091 877290150 264734377 698811114 488201039 936567326 293989324 924984127 452413063 262559381 182547981 525076048 381271539 199893864 885535078 451064380 682936413 306510389 898802732 764383152 599034828 262370841 391835310 328769305 417255312 289134457 236054593 907194598 959032753 353401887 935092758 210324605 117478852 133737888 766892176 520477053 674361618 688057938 908405548 593933179 169908345 420479089 285847749 842951521 848629855 406455493 373774799 499183153 674357970 834076905 410365374 974097796 934019456 853394077 766029794 843947247 356445729 387974657 389283748 237823970 396533896 123112593 704585005 720059115 460041155 908317191 695398278 731491214 580538696 606143464 708507107 504441721 956751809 199435402 985774501 750389079 518623334 218888321 154557020 206005247 437000815 684144314 280932534 927599105 930797138 486643193 460543195 113582945 197644760 948857321 973095123 543886585 117960477 971111767 490812860 784781381 182365774 863084162 494837539 991050795 822757074 788796870 498990371 654830671 673219350 818872529 232664611 210045933 328999675 463215212 969810315 106369617 670865902 601913624 991771877 155482805 902666396 942100487 746537645 923764611 450421821 276834303 741029416 386589605 349445500 382028293 244360681 172791422 393460904 276586391 626215903 805120351 363253698 812977045 536564904 805628838 282742279 874947630 631272755 487262591 288754601 241666328 645926355 131787971 730081769 983728849 527756031 561376888 304300556 719582613 529889830 629934225 761771915 893504350 313712330 436079829 922212245 960423568 855782770 558358440 531340872 408377822 734960590 765659966 819698445 693335441 750278904 919649592 271091343 974295679 467552404 941137264 299563950 899866413 216608075 490472956 492310773 162211770 973365647 926053042 574380932 886041557 450267836 854087688 553613916 504889132 992954789 587417027 587910739 812812296 227383510 681908243 324031139 234969649 995909991 392804963 526795738 825771691 511543025 507047351 324248894 441104267 358097226 728517730 787460999 379048907 180417577 143112764 288816896 544253854 467856913 223657256 265939275 865979323 604376222 338734320 236003927 216058118 896585271 432131526 481401854 423223584 354067632 187299858 454600461 247295960 268493928 608973631 855221344 985298847 843564680 801448942 935149812 479971642 906014770 734611180 965355939 661909839 404596524 816548894 846752212 759719492 281061719 278526027 132007139 584442437 909731844 350753736 479136297 963803081 549287840 709775913 786071464 296439966 523038402 137821645 427547989 981981329 302564942 283325129 494180547 367598154 784060952 428971064 799029483 223692085 178285920 857948307 627904855 446155330 231838066 593922642 361442586 445181185 102304243 399269600 296668906 198623520 666313869 445071366 246759867 533541152 596477919 292302548 965215727 336313014 656287571 992903851 697081947 964549722 887819610 906316109 825300482 510191101 791938385 537155917 227575118 877086176 650370616 373190255 252766345 131066047 931779297 270992222 982111792 642223642 865425124 520839453 522858497 108182361 146705700 505645646 432877965 269103987 883550378 431408288 347934970 887799806 940140427 491640273 429200259 617107940 862284857 993824887 475019485 573529619 524377791 761234151 746928757 362507974 516141235 455251320 190410349 473192072 463205032 405191863 226429724 135058860 383818159 166529596 312882417 480711716 426723011 161848311 968000269 695876088 358110494 943638230 925217961 644371714 731691051 274867261 798947248 270433059 702449841 227582169 821053361 323386374 291186098 130551969 367647264 275642069 263887120 328110828 263096587 209348865 478245042 524653696 967716420 882956114 329334374 762502831 288659575 278359067 841429775 572567265 680701560 681736772 436778946 716643039 104813801 334619032 932538682 355067153 686243324 943460469 975566739 214727085 870297681 573961486 823717103 436036644 623415908 928732567 461056994 195171110 895770778 765815201 209015138 917977416 325152453 545413940 834744782 910306358 327822682 697564820 474678908 288652112 460435944 326870895 375325160 922200757 803109223 713359073 561097078 892327167 983234531 682491078 756148731 544161764 257983148 501294792 359070164 570372673 466997618 990833114 191858545 849709070 927386684 804214483 152032965 605645521 928097603 112311928 297081759 679266349 342056714 918990878 786511439 470721458 981488964 880896350 639302453 263561523 620857551 639377929 873626114 681718648 293952388 675880884 277445068 310806337 802692548 858831343 306355936 238007159 644624417 871746454 747859279 973037049 745731980 208580995 496323325 267776455 208956272 209678110 442495167 953014292 633403208 207301939 834794757 143920714 777858081 252079377 223782231 553589822 524264344 957576231 944328365 890097361 590133795 888664363 648387947 655276010 341947623 398244060 562992676 181430406 312803751 472788763 950837369 896107212 268105146 792880909 540031067 672523663 840808087 320501567 970304289 412641861 785319164 663471758 954949722 362548299 863651983 401953554 934126616 733016015 188142424 735246671 810341687 816318344 409356339 525292932 775974385 189338615 417871175 182621547 605786111 900143640 135595271 301651684 474781330 833350268 280824650 509411918 810739182 971254791 509738217 136719405 580624133 774264918 123287813 231498505 658004764 438125372 642096960 298349585 411858413 545125275 682756458 972137829 836011446 960233296 916240313 820067031 566666082 413460004 313123343 441793472 128980604 715998717 184839135 324369227 837718890 678405746 739632408 412132940 373595676 740147509 505549576 130705859 557199149 706304277 805051806 197207971 417257058 983065476 852723775 172784474 430182460 262495143 969782251 969305629 615620577 610069833 124644502 573885310 539154774 972906742 454793171 825475278 506999505 475166367 757114733 392622902 277596550 218556109 937497852 219320484 257013769 318806366 767305583 508084993 572897839 749197056 758438106 913619863 704310100 675597251 361723098 282453668 858260545 865990938 182916059 946488059 551557377 616389524 410021014 262152524 185428360 767127436 889116667 498505830 452699202 905311841 238291138 517740808 735622441 185090606 199262462 439291702 474793826 278125214 395420377 111793732 568339490 230776092 685863585 859417265 926134027 968133058 853700531 748592460 250874307 321104165 923384996 101716948 246253919 383019948 380458248 637402832 785814449 302402120 972548430 668002863 611031964 668715957 615902017 530576713 368899366 168188268 861410607 865257859 998320492 829533537 625119648 983757431 651153525 666199855 430077987 929810227 626977303 614961876 345338847 174653655 420864221 385187958 426283934 101528286 711375821 987132846 963423294 786431699 382489586 680643857 568189936 652611358 173585002 995489775 221187555 573738612 413287419 773417535 634516963 649096280 887170654 348667564 329945327 270155459 717622413 934550084 207009026 537267736 141727723 567520652 265086743 914560455 499322480 610637913 789834986 817688645 180240886 374006320 482663336 377110518 523615991 581939594 763648729 388801919 969111964 402093419 370939393 916522827 798692058 868816360 648990963 861701099 932316881 820571798 138654062 657107504 387618880 988100897 364848635 437260862 659840618 439594356 292810361 460992637 654950368 997394470 481537173 213575351 411626778 893403672 543745487 479463826 417823014 643214292 901493108 884572133 912574723 477355008 597099447 121530134 622441028 167381102 521354361 521011929 968084446 592562797 184465183 725163173 714980844 615719657 639029744 596043968 636437336 394101299 895290717 634219171 302676878 922113023 547743967 981629143 472719634 696713288 705576094 525303852 219431262 271416927 848740455 116405762 261548974 681961722 718873154 312304632 812244502 556670823 796056041 176425087 408742671 828670399 751806028 715633442 302345212 208698431 758607762 263693079 508561392 266828961 306208951 765701094 773415232 291492023 652763729 548385276 210347799 288775000 955049420 246684055 453087215 229595012 517595901 573734416 626107428 754582125 995590488 368666224 903778982 918902819 742494216 689527040 233397044 547752782 892609138 439713825 205287564 237773090 360526792 608138034 665566387 420645374 232927413 483470801 476561390 312054164 615502153 168488535 828548342 812953708 355681600 929397903 812184108 877899167 142251565 728355506 219089623 321549575 995687841 452463795 400992415 991202066 640923056 297549065 111689421 451249613 250549064 796766917 432784051 172036362 850634674 785545827 459613207 999081804 767496885 384466949 399597422 316409576 828082471 382429108 274871473 813579533 478544343 799481297 948993823 426806356 149325558 831598698 477153608 366453543 674006358 533176008 909496790 974428779 102360242 746428639 372766294 978296599 658411290 972554432 934351587 454754384 748217513 675078995 708155561 155729986 965142766 255968436 157393257 602015033 373083290 875301208 139657290 388724855 109711990 860410669 237033093 105566203 920289327 121350510 828521565 753818072 301615213 913215589 153058765 522099577 928127491 642297316 810498757 837785102 187841979 469164548 864455070 316143975 436123576 807016441 106016570 415612037 282015238 193672569 913143443 446169179 704552158 447735711 972608509 679808856 967299657 910627386 286009527 415074828 669217564 806023995 781080716 740534163 767170423 849323137 177522250 589171942 837545333 699612812 642734752 632831555 552952162 724998800 963412306 835570961 796811800 391376039 554661867 910336629 402522643 892107071 973412159 146351119 873407458 154079053 636323934 848811867 243036183 355123409 777821716 658337677 584358484 275091522 806806471 852664467 486158392 551505312 297944179 488391448 461599532 412428322 889354652 656405555 893816552 142321741 340030701 784972593 170961709 240553862 581963915 440294625 657300201 207276391 797802014 899160964 981709037 326828935 247209011 232202059 225061213 416453094 519111898 967730926 770582710 959792274 523251234 963126600 346069207 292739208 345533277 672026988 426345066 763365997 622283803 635580712 102863585 553367937 181228541 723629807 707893820 825111184 205977836 787306744 949018869 264172692 202163112 499194189 294441875 931113893 164409813 765068185 260077884 943142864 931522805 219639956 769620155 679719716 237256984 296039072 756727579 481643930 878731147 262228733 186207463 853422031 931105010 994588808 273971006 796738817 812163169 155485215 663338160 768872469 966772006 126043205 489282338 685673099 831830327 672992580 789579732 401472622 235684235 176510501 430783457 770725333 751545548 489162489 118055932 257785822 501307974 674934582 769476866 844643737 362348140 161856547 670955270 732273533 718814356 247917829 323374302 294400809 790305236 310019792 377673238 961274741 569624144 969245335 726059902 392263448 501263891 711667648 520644793 885541898 674691174 592440115 762213321 561170954 365344608 500424914 851221926 934234613 553735128 376706792 105100990 314463981 173162844 363881389 154956584 290853807 338340490 611038193 286057520 817567887 139300277 266996932 915679750 755641544 385829936 336505858 422424524 553067242 572668777 260660265 867497551 209929073 503031574 570505341 152674690 926692332 867518333 165837898 970953337 502562929 154865846 263999272 415548322 386781313 484916384 651798900 560436531 366845077 300743558 946205550 597126268 504033427 725943989 416382573 145882605 146231283 405238310 961883860 866509891 694110278 881362889 293451479 786552841 986570711 778690418 110301442 728139501 707957634 448251860 143723618 533556407 305681337 147808132 507653968 244427534 974216883 801076302 211309007 995334987 645040989 134243001 531722778 403324083 301921071 478119943 575778356 657796125 575750894 606414911 615389846 783620706 550874127 679095420 886950245 152230537 310901667 288100091 302192558 634019504 442463055 499749680 659718721 174504159 584654838 924070411 982346660 770601497 938926073 671130184 302811449 252634413 843811570 955087191 129453015 992498960 176224936 960671805 272750777 858741873 107820353 162680442 509874470 912440687 131194330 148147071 206095392 974974493 689070792 484575721 447237455 812067683 529926297 726273908 924167320 399580085 444218621 473454514 166150079 482157245 760963594 828831139 924714512 967622186 764312922 563533692 526163596 924801662 316128956 577794026 646439984 528700492 744202368 155290325 259643921 243132126 265158853 930752842 326538585 929982784 768683956 564177355 472683856 985918080 421615583 962166789 139152066 395578833 476704632 666397650 490426093 271950979 277807282 805836395 259464962 934317400 484739403 914646840 751438221 349808638 273223241 188062666 595763032 981074864 459183922 337210521 758354950 842767907 567180554 857097809 820349351 468991385 970326214 756473238 488702548 740741728 606699707 365266322 636367382 954400665 317142513 460804567 955312680 203890297 722554377 321382936 794693758 863836265 928838430 774742572 172102503 379982856 219322059 930886569 689885549 915164248 573090974 896319505 822083238 773649629 126983031 585631067 564802475 907495565 940713871 688335718 579067560 704856836 620505321 432174249 547020203 374036122 484939320 878154259 193511673 126609176 775412092 691342282 243256715 167868146 273780884 989530971 149294745 112003699 453281387 745745154 281223451 127802916 764161485 345927020 122650281 643553772 596908699 477181611 716438221 336605614 702867576 500316965 658716002 546483698 138277374 815355316 592407987 363732210 134396638 587546271 781945593 459953102 756527460 138852687 633358231 868670097 638080523 653281545 358503915 880922695 857192872 707601957 599613930 288243326 920726722 874779287 374883072 284891214 456117072 822452341 964794703 702857853 537559276 459292062 157394681 296442271 303217839 873284828 368890155 547632091 563816377 187943179 552840617 426506694 858172792 723854149 375088895 127809837 489015489 202578207 869049449 181044517 920300356 599224023 137775942 505603435 951182932 158534314 399411004 638325627 559909363 737092503 958419211 582840544 220665386 834500992 455886548 334015947 656999637 518093562 623395401 833886578 355503568 234479415 703005725 357007111 547990339 351819252 492434900 491838147 770881447 113402615 545190953 592164651 540937115 215196625 489672503 506504388 233418125 262848716 768838149 607074223 718298658 321765629 584589853 578551918 338739632 654383042 732526992 338742312 150805876 719694711 120540488 807502173 467495840 615321638 330528110 729658899 960844023 365304701 217356875 312545819 241883116 566971086 588001365 783074086 308179862 779985945 635621783 188145949 132194141 538175506 976299113 474275206 299591247 352915511 448408481 636217404 143842027 446187277 491643060 112331602 616554342 540985694 867361584 665326678 465402166 313179088 265008882 919738713 700961030 812348432 924454328 906154782 766332723 199522709 727514301 722249952 334431121 973287173 486041501 220004662 544643790 227534214 654566409 709616470 497688822 790129359 680762366 336166049 191520749 712588371 509244035 502539411 786799592 608226040 818039700 994525334 955596558 181814553 188711460 495893973 524821196 366737498 812700864 803045076 895732842 312347578 163117316 925174701 939728268 827130629 416959178 162783379 636303855 638800172 400038169 332823142 343457031 443319625 252019339 505511974 798395631 146859773 829363036 882822615 670640756 859857423 464129298 872265407 351182711 453298003 517196422 534446571 460774404 982033294 740834862 946104576 723745034 282039462 749042529 537485507 406457582 230273311 207576123 842945041 141622626 383119771 509221831 979198889 656480662 724178990 565994405 997139651 312713968 658713563 696927663 365797269 530607447 623017320 268753751 619477684 402056354 798593696 963109249 451369382 984142748 830068909 764526552 510985951 786300462 385272764 146826146 206730763 658281180 879284399 598608168 867078380 351944015 613073853 389203116 824331692 778563881 521570864 305742503 261674797 944015957 831736131 656379791 529713440 711649160 146534692 627740760 969895913 977547407 345704955 347837152 573950607 338040486 115438918 949736494 719205115 415365968 696235258 366607777 619776214 242292806 232438159 639565681 387469349 658277602 626967072 764282870 468286087 476261391 276623393 562127333 832328091 726280108 982178805 330765809 809504063 986622374 769656415 846080338 248156110 890346549 612343224 942411474 512305730 505721686 377942057 835772434 457195621 565420792 640498233 100562193 528441338 240141862 374794516 778116273 477308231 714047147 101232342 840702761 316494462 853798950 168534778 876859599 291007623 625556485 396988931 307913315 766275972 213198013 304643806 826601454 532700233 956162544 672498560 613667230 701195005 163974122 511377477 364194799 204954137 374633037 770317546 394843782 545818097 883139973 999633187 504610293 780436695 918194372 605511858 848161689 939888817 657982209 890493005 256693946 967157677 765128647 460026566 333416922 295358240 118130321 922598041 537467665 928116544 177414568 742611760 231019621 696349559 349707970 780636657 394201494 191526360 806783918 440258619 840755788 108338833 720368826 547921804 263952058 405483187 199260859 554089302 982831256 893021876 401908883 802907230 882817634 181739496 852451994 254517191 295711883 991963056 535136548 438711704 944668240 390713975 245528887 493888125 251405351 583714941 162474235 739019762 109778544 530963382 951979665 122409760 657209073 211253619 859776009 438220417 357485993 413216638 769021821 971746846 774861439 914909406 662566688 461655445 273795165 266649790 268360514 729502645 115606583 114665920 325597343 487679385 775683640 185038138 742805796 167939596 460561857 613007036 120261799 332884454 735156946 678256509 775986161 786214143 379890514 562534099 340866665 366192717 794403293 420397865 678649931 603311673 391062336 614954232 691725574 311228136 391126814 191225690 471873448 118971352 487065364 923902129 971114641 603889089 975937630 561773624 126541679 966590014 238940864 361212343 127513120 828301435 117902838 418375225 201913078 297105103 182503530 611416771 101034930 636511384 149436753 888657803 599092032 122950626 234606944 371510359 454623063 289713761 319292231 333991195 191680221 650194947 273397733 156338110 931020394 716614264 676769231 996784204 618452861 634943307 434807884 355252751 778970171 986986898 905969416 599316659 516532329 182719891 505095078 608065772 152938900 468128258 576283961 151611093 405949320 808038878 226756341 849527762 245162956 619664217 490614074 413845434 501576584 415563272 841483963 978815438 278748945 827827535 209245479 849710015 238443136 238468312 473171957 206492119 864919952 876280558 475399867 155269446 266710928 597409076 339618334 252695883 971312300 564163162 104837551 330898714 965236160 672891880 145721066 813865241 369867612 818839257 271536889 540475719 474719737 623560354 798575367 137209221 639941161 415978244 627942071 834307089 931212811 254131537 816818881 137608033 422335663 331182540 644187642 384231335 278073054 493931895 682320162 893218795 686263305 740857718 905761215 667508548 124872370 816644773 359539117 351241683 651109884 318990023 374293972 118004583 391538908 379462262 726968784 894448269 166800272 123522201 485974345 807689677 530294543 772717570 478416932 659360915 138121361 544128507 942241915 423124160 450329843 954216601 895243319 561169345 604212106 974955653 424196102 645605236 132639144 994590982 275451640 917198488 440158582 115385234 536252174 708599600 847969870 198805929 770407722 866930376 731627869 338091216 484013531 849255293 691973281 226016537 824566280 453274457 320456029 206868285 602362494 783525758 192242133 659853248 892739819 674035093 103844751 982257464 522958809 687419229 264801651 914908808 492086037 220920507 129273264 464638149 927272299 502792814 126135704 574468790 121084769 638204667 108966967 808838693 599951301 811522106 763628587 785214873 417275231 698005592 101688830 195235715 774773433 272151372 178867295 697341098 676983871 368804872 139674397 363897663 531794802 954944957 298798009 459600879 453138127 296159460 144269474 525369905 559699047 522626001 836607725 370356157 781982264 186424542 953214152 100444767 105342072 483130129 165326627 698597075 893295000 937375693 645638369 284661175 145639166 988978938 846287736 317313433 953955258 522949299 334863796 700723803 675450839 819316932 727490003 458335392 370085237 112044138 902257304 371860838 371660935 651259540 236480959 394339303 174454433 165456073 461358038 425286261 443914753 174979640 849200154 252329841 947060172 157793860 555592722 227531038 140330144 760927243 604289579 872735728 904630128 849187560 227802738 451901648 257009667 992676744 317480153 322205497 720059679 139796835 766699476 473872422 958016806 215161107 151055343 158570605 871474878 461424139 559930601 591306046 889102440 836313963 389249175 244595342 433607633 791965979 806422836 936602589 654758911 915167070 828713492 778856693 869942400 352145768 479302432 332294729 529023260 908817135 586232123 271450435 182933727 725837424 381089434 217332152 494366299 392480649 289156691 718717185 236240685 991296634 585598284 670614515 538478010 452924159 281010041 508391873 246134926 960739639 780024293 969297544 409798536 593771597 490057217 928620593 994810159 385517108 249341758 416451619 132656194 810857680 407583521 556771821 246880832 708200120 109637535 680602671 463689895 803303643 659058946 761018999 493026560 573703002 215828310 539194884 292140895 356198257 561524934 161229824 761181689 875987471 878125604 150652404 857804562 737918672 389640875 533967354 517026702 268386463 875644801 650111376 727310041 987320725 701309407 171607253 375728909 364823425 767118984 579227130 269944567 552528798 364777378 200435077 864586385 540338379 131726637 274974692 747601555 161659665 173432588 239577136 105296879 771184094 706577155 690185918 779672787 825049740 147875767 639665483 297291875 585828207 996170364 197207013 269346802 683069242 433252988 488894129 867226323 697769787 545188130 789493548 903386101 269766798 439466649 911516094 743833064 250219776 880479922 755268577 952555825 610590340 335713767 893921713 929690231 920590128 512874159 490100697 135929351 965792557 507855743 508104697 227130888 843214309 464819821 735070257 178521648 138836091 955188778 497403727 511532317 544285720 972871553 855573526 305417047 787097560 933926786 584664918 342408580 762308449 853264159 296735458 619173987 816633766 243360340 692194895 917233200 818676336 221321070 976899418 911083760 263251797 655446275 384603616 637969089 805970725 548413698 192572151 206990350 594850977 289505772 687729041 888542110 291289791 714166006 697539583 316056407 856837289 584503967 222506458 731441349 225705598 671747129 605902923 447405099 454436008 992853815 605871520 731874826 417160274 572455892 578941282 220150813 255675050 171301552 880301035 758651637 142994364 196656240 130579094 819737067 119855394 703196492 628531135 766711052 899252669 968865228 991062144 934857941 367700680 843859024 586908520 777296332 348067768 190811177 373004306 205140170 735242391 787216520 484399711 246222401 823358714 154284952 494534368 282850486 733857732 906385411 185135675 123415207 613704712 224740107 948273178 420520964 255063315 618053110 407205167 260145486 847607589 291491277 556022268 975790233 590486034 289955615 716208716 353616052 174911397 445520225 865142426 172473052 846691362 705681454 120344368 861487316 457804022 892959515 116365865 918861885 325694765 282835612 637540698 464986027 905701848 499234795 877603272 100151533 887744286 577345593 770825724 764934061 529259885 779301417 641967576 472346330 186827058 902572002 724940101 414300514 821973527 529782075 464317975 684256970 539302311 511497983 609445066 691251246 755727924 382807997 396839900 449564349 466290273 615981716 168822260 710584801 631434594 798182808 575233480 690353263 317692625 902137929 911380985 946506894 176969684 175295590 886179336 103330614 178561632 792769460 360316169 761356902 737516875 578616436 432675199 420108679 631766708 628912591 208448647 408953221 556775502 345990603 564443211 532826851 723596648 485362504 475231708 613806520 194198058 732665932 911235283 470155273 347810006 630048211 650155706 425567743 767101126 687344777 794821906 953400291 692915131 624071685 982075571 603983937 253241980 790210256 391994517 918248649 953621442 509887182 509439517 492120389 298801221 795482313 237508699 546519616 473906351 871492574 898299338 154832372 913096676 542956099 763691012 679843720 348673304 214204219 867533534 398027112 304640321 436842251 245201134 352049033 792333748 970926906 218994536 368584605 861341011 746967512 624239216 267506069 601315940 889424467 379919091 626040594 763768454 743574696 362236465 138052247 495393375 709027129 102011345 408364233 891319936 602605849 849648519 953340691 809581734 132910316 448221376 968229644 783506933 735569414 396006993 709334327 728907513 763947763 560797862 883839780 740972592 409646482 223883677 920333309 818115316 740641463 418108318 190632494 357550440 979230800 794359747 470278709 814135026 456102500 666717196 242733514 354723659 940211621 644161956 911576892 360862177 201046129 463379662 471165415 502117779 643309402 778680828 337762138 620046378 357712606 748697740 991546674 752791420 693043101 920968592 335963731 802872263 530821108 192201398 214517295 459382623 983897866 711553523 426844129 293723736 773490209 399956141 905588801 261569951 209378332 298426512 423963724 457113430 345607556 268551481 187145893 202464517 386975440 408860552 378774565 513694887 916616447 743720585 324282075 937881876 904319543 415576544 190771129 955804305 844764986 151576495 414216796 786116592 166599689 191969101 228996604 318518665 726035100 412611436 833519012 513567247 634919977 656541006 249061198 688997214 391116172 206372567 931064462 747272312 391060060 164927967 678514404 808576406 643613136 685847066 267016773 461511650 431130677 118739869 203951736 149659044 822992296 561742974 494722062 274623186 756963485 221260610 741382893 691044737 644809919 999468545 788893852 891222703 356458097 577849596 166956829 773892816 626297383 582368755 471279355 226126738 161085596 656814601 130513987 469430102 672202098 828213025 177041318 348120043 772165427 849309591 513757760 843016972 557174519 201180216 744500163 672834002 346071182 225376317 850078446 767572174 247581211 585522508 336913034 764056519 224600075 882797569 564124861 725048751 604937355 911480444 319699912 989993113 824567713 305751579 630602691 706921450 325438822 235784950 580083173 290568868 898108829 747322053 528791830 715679365 236498443 379285382 879500487 946482309 719398561 958180522 184207462 169787941 721444137 727869539 523157291 728332013 389527206 605918191 393723219 918176923 147063894 267870784 181691489 473267238 407055508 397151623 303295083 489049060 243976275 383506214 861139286 626218139 152812866 994928333 770114639 862665996 336865568 418840324 912925879 641527701 142656154 856753390 651433062 827785670 195993141 819751871 707998246 265318835 830123758 817628013 832157845 496282135 730563688 731477574 238751321 676343628 185538146 407654147 286545277 646191294 229528379 379033014 120680974 688439497 815361598 777809770 277172953 154040330 979698225 553002795 584966550 372667535 447433152 684821534 750238153 322382243 615541952 840919713 465482818 371235819 811919903 303579834 688980504 864174321 429493498 194428423 145331830 919387038 623774398 430466020 340282451 395333026 688458443 320170055 757377306 365216091 489974008 577812486 650356146 387720355 205591963 693500960 449947537 863629897 563158411 780647458 786387830 217970250 390960853 241096361 403371201 120618965 382893174 293015236 497955842 782030070 397211387 915280390 239434545 956022152 304742706 918707362 845160251 276134237 841116743 190065263 846332175 480126022 642556196 847182848 672371730 990490665 568799536 805492911 655286635 900106677 761656959 954816358 792620648 511491293 845907416 598127388 215524331 673334313 841504249 701364058 400216263 667692086 181802548 441735825 993690142 956475643 765244504 236364730 183927914 860784887 619685686 627465398 147043283 553319905 666543752 802305050 979096791 751408679 198539660 853252673 216298239 130034777 918581028 381840549 486198406 854774130 565210457 760358353 198865378 281383567 397995671 265531000 167104628 687476206 753025015 175019483 376728341 567009130 245730589 901986320 600644247 932336023 937981953 703681292 201797491 114601923 958235712 616964349 303085199 313477556 470496167 988647938 387364059 718108579 244769786 720831628 684290946 954660800 358100253 682275477 406116618 256758370 194755578 144609415 328695570 887564029 232484219 890593522 479820642 976860050 605976169 712847592 158464584 610855338 780815633 132755736 643979191 595806206 503870835 340145126 128495196 810183757 732925234 959973090 506091816 527132867 354292476 497865199 383657625 395793654 217106807 102938040 819744735 179448488 253621367 855616799 264064257 804591378 444539682 546725919 901135567 130656717 560535348 867412565 977421887 435588433 285759149 382177776 870575882 539294064 523662242 908222396 657105126 799055639 320417054 347345342 392027180 645692878 274851586 790498860 712463633 451533135 703000289 725433531 498140461 992360983 867249718 369902104 672823892 198942286 834135968 837402581 811163163 174502138 545192139 155373554 838433299 425617101 604965162 458990123 586441745 484848763 613507257 162410463 662415291 122538844 483833222 134684777 601326782 667605865 775913713 361389234 703726195 536214821 710623372 411233898 444880571 812082912 449873581 893449387 715416790 569643938 689791309 875283319 526455947 915307464 476852272 557980779 379993847 559365563 635083879 443011967 532611899 648702745 191300229 803216960 945248869 312561205 108751704 585444218 753665547 699110903 565970839 631918815 949885407 806827515 484476817 974299932 813820124 241276315 703813437 778832128 839285444 363600172 607548666 866745643 500665834 438536272 730409018 488104411 416455400 143744777 112353700 660503288 546589322 193056081 339468111 883831023 458006916 913801475 204316838 335545824 688533726 201789453 270970848 851490850 260326590 279116116 442666121 907257788 886518515 811915359 245519626 976423696 353666323 359464445 864740332 971157100 740924440 841171940 268089347 842093829 318896008 747493949 678950047 929830769 379291638 707758721 225670838 526970683 348203019 282395807 300727737 686864112 243297046 405990428 989038935 756784288 331498143 590577424 289455241 998388720 450965621 405091715 977842549 832356614 507712050 673043192 763359267 226695041 458169446 961905014 405805444 722463347 404305678 368468105 600584522 494044711 870086765 633708835 302320719 437298815 560309269 124753507 145875515 298682660 977673467 167745815 358016984 157349354 409017710 777027578 451933690 730264377 554947375 923721719 253681645 938629951 952842096 334933512 594207172 281800393 728891340 865253392 121167469 431537667 300531855 868082672 211520345 651374768 379286718 962010881 970299006 667871377 704427020 242760442 675290470 519537434 581684807 789883485 179916669 123955679 245069590 156454927 425144194 528933635 380941753 284433692 989342990 775259903 313554047 628877306 543036019 903798957 438426220 454273894 630349385 622055668 816160099 158005647 558537620 776261537 945707450 120144133 787437633 116252678 456608342 838092065 979309284 680574849 257870987 371255067 992011637 806285492 543411936 245222396 127777554 237322295 256468171 544531833 389029660 259938289 537331218 617869315 582137856 599186694 713332012 666748707 432910072 690089623 310043374 501651412 348226959 432753318 850184636 917240847 641475482 100302804 884510596 502783266 775776721 333253533 893563803 713853709 193945630 379118706 290031222 867056473 871261294 403201686 250217369 533418969 204740905 325107324 622814552 239073609 138979182 796738086 455718920 955699849 490560513 324823264 501516456 448921800 460032262 691231232 945215442 820161946 282600595 540297820 841482614 285136460 844638901 120570702 390773219 844500721 516546488 659200401 871461374 615369670 978701031 691370130 453030280 648538474 702980405 476535838 860470539 980707612 242047486 832014070 975975043 128214969 296045383 736772019 486045330 857902799 581478076 909331532 646392380 675191028 945630461 432062174 789142790 895838453 386649931 353545693 842390799 810794851 132633576 285551800 353010807 363452074 243876275 936697360 233317355 210480665 681262411 581607154 796718322 337046309 208413898 847569376 860147086 893387886 561626256 262194640 994665610 331085519 802982898 218025579 814373013 493349748 761597669 760011386 149624202 742846549 165375567 311916358 366282976 612415458 962263308 810348477 788640162 355410673 726498159 503224379 438517668 303869695 789453581 107415080 870390621 196951091 657482116 490280401 671544511 936445391 319683967 819231499 413561583 854161879 467835259 919541644 425357244 606217719 566034629 372285299 397507560 623510363 616299004 806250706 638855124 199449465 442449184 706772568 729413019 309049994 808927037 566301068 593633914 726234684 696678257 220597103 107882823 286054025 113998577 895628693 987197763 529834818 809300464 408808033 294557954 684573502 711198342 138243342 260844254 186925743 604700786 100402876 770180637 437048902 567069674 324386566 918353190 364535933 796352622 495945661 648821166 621183333 361583369 254587063 126652501 654509047 343682279 286693227 981646102 202581924 942757959 700952671 692428853 333340120 410987064 563838975 561978444 441837051 275206499 502250760 638951186 973401782 205435827 768421845 469908690 192119898 676877352 406363163 267913444 748503915 497244059 945441826 351684206 221189877 767845054 984140473 925614328 705169604 272508456 718504399 576719633 269256640 969089149 742074724 757643321 963328363 425479080 642721406 254159504 161213570 316526437 565225707 796006018 120386162 315662537 612665555 558646882 440630288 124503851 874936931 554426809 486873248 642277595 112144349 254108382 386840239 831720823 608582811 947412213 921592972 752494273 435816414 559638548 588047405 636346605 572411367 455409337 156389668 639486053 725834212 216313869 506919164 721525797 120943598 701243601 215267156 404508317 979193192 100821260 122535352 750074814 452775607 960796958 414666684 963370488 604704088 673358420 979302146 233392722 126821610 780243787 241228233 226248046 228130232 775988123 102208605 740014563 387141562 443385437 992463604 756814314 718370322 983929949 994772362 807975896 563483659 940676728 417375745 867734101 612604148 810845949 475588722 477137807 370465529 478946202 205123460 315726529 379100969 338084664 691063575 214380994 907602929 486534817 425592688 369772527 534965616 822066239 358021052 999947112 644971901 672159931 692228180 702100701 550666316 313618857 349596110 386717251 949849694 363612430 274547425 794178024 103807889 130030019 734021416 415731832 460121575 449614830 140861851 168934104 133676276 897599525 123577800 561004613 203092383 504927533 225443667 737238500 799629091 885775738 813648662 284756385 106299984 555735537 468144306 825569016 595783388 344005299 884050664 473499799 839203726 408364118 687231124 101706319 281959676 731455333 146079068 168164745 371880487 534410428 144805520 941609666 175224137 816557586 937564217 325224017 655575023 385416726 397677006 390463236 250343308 896631517 691640034 448751622 135575008 221631315 329532523 442441591 518307310 144050394 919604053 840134105 489612675 818921023 181657984 674186963 272744737 185992270 757153950 532808991 140346418 576563771 128460720 526998526 176793996 466379421 823242982 525101136 461014049 758486801 249919135 173253610 777975995 707363443 512599276 380387833 864275284 218597110 148787637 386121478 681415085 531303215 648365486 485621022 836440592 474966802 728583840 795162380 519307690 543216585 288961883 372748706 765129062 715617512 112804658 984602142 727957742 106036129 794827164 635473302 880855453 706956733 929884328 205905498 601721789 469436395 941075478 974129047 336706464 241856712 916056312 882528203 903462133 204299764 886153436 987751794 249936728 827854109 361026146 512264825 845220021 288462781 130838326 915645814 494665512 443875589 776912096 641718433 228190538 938970419 373200482 392243425 222963053 360352721 390923347 116109243 597230330 705413489 692069146 447830371 340781968 855992488 458156472 504383017 413896137 175186399 662247100 871860028 974469178 848098997 939548021 159720605 332393315 712096164 216537599 399124940 651703376 725021556 504456149 194408248 346477140 964787962 578031763 220660550 760035237 447448038 433708632 574259116 780041255 222459589 266130027 583202432 400318144 708920567 932036664 253331879 515603168 826556123 471351418 678722486 795452125 673798588 349792279 392497148 230166845 836397391 930699157 460224688 548566073 411786224 385416497 976461749 524031910 890812041 652715213 757085842 262491101 260267880 844241719 956079550 224472590 492015441 221737642 985079125 172110254 663316364 437837029 741395106 518412507 762623451 197374940 606944953 578928884 660403678 343804486 567719831 277412113 362702839 317045623 548585457 665340711 228511300 916460077 803004225 444319943 697393128 984026095 581103293 985865216 572225981 934812192 751147047 771493055 275367450 109573393 718428725 349495615 684223661 998453095 688914703 169245660 885465306 951876100 743256382 274930672 365567918 561151151 819529611 775565750 728081149 212290801 329419448 628290411 659723852 826709762 921609840 603579991 728883804 583246520 837313143 433540614 666451605 384660132 599626636 679708073 543234081 717082524 884997970 521024645 864244863 478355684 823479832 402620673 374113940 845934614 284791363 674158625 229188731 533012963 199789289 470023494 968873760 744721182 247950783 703589203 600225490 597430178 686929426 171605889 709724320 676351113 450765065 427842877 320975398 933263005 808104671 542194421 771488788 508881999 807618394 687165909 646129135 277149776 511201749 241807453 944120320 728902526 512722423 412068796 542332644 159211161 773897705 760779744 900157314 699502763 726527087 876083749 684277910 680108641 409526031 483226040 666062659 215777943 508041026 756948764 470007146 224927747 200697191 559196467 116931929 322098452 192954834 155131341 221497065 812716560 335104159 603965637 236739889 175445790 704127675 820548906 155571098 833157851 160293440 509433963 369568178 824573463 334818540 575979008 345408097 139026322 964152290 962930664 296473658 403564957 465754407 861804645 360028439 860191975 901931949 230146678 555653058 116115242 229707349 688432568 327915850 874061725 627977554 689655111 975364610 568486627 169945261 230047112 681278007 867729551 435608198 624217800 596153783 506464240 622706807 160354475 665796750 603365601 351782730 197423005 387343806 500366396 638566928 325674501 849852204 253934801 869205828 893787919 387519187 445025051 395551026 233903231 316601990 223485293 275107380 137574733 682249957 657528756 522272865 457680277 586418552 771370323 912153984 856110355 129956073 655988625 221406579 654920542 967005978 605197398 233126753 591268565 451115922 476130457 456911789 255299408 397737343 261265097 856361769 463210149 839236055 268218339 451507747 615446628 497168531 744746601 352609984 545094829 582995842 981556646 946824879 831871258 427420674 863173676 268212592 256046725 430398293 394201308 335643935 161900836 442368240 777708640 104933343 728178324 552842431 836591517 541115028 700991186 342043665 394921753 549976335 797792992 170737757 147650085 157748864 718418679 286299994 653775014 342980710 245127596 673295933 180819183 758963935 662981364 401876475 682635254 406594521 457415048 258065536 320988694 928576695 737843268 613211314 376090615 318056511 159231913 687211821 384739444 686560400 607246230 323226086 781707591 342652653 474673948 824467606 418515971 520294900 314397540 357604382 310403395 631866124 934347340 858298130 346893319 285874097 210210171 509779810 716379559 215950424 700314276 445304308 242114891 815075845 573207476 403509753 782799999 339011288 218794403 439227808 455099053 458390458 440150068 734642708 907530340 663072717 746319073 137903527 642704642 783234066 409888725 350331215 787991431 363623874 782634811 229768709 923199763 963302954 408036658 176932795 838180947 683110438 247001989 904303760 587834574 484252540 393438060 377458923 417556064 294405267 759657873 347617567 922117808 997627994 872117083 735309327 296245582 515164429 586001922 404428878 925217166 920688912 424974611 496338187 931656023 215586399 365227079 972978354 584913476 724668871 149419714 989395844 219766491 394030559 448037861 443438516 483331991 536554004 435797511 942842812 183689100 284822533 531728375 450861663 610761632 501882057 258519083 308772076 622500625 250892752 491593824 405738763 716843311 621723947 992795540 557902386 366676394 553593355 987986241 239936648 684845808 205967149 909107923 710758392 107268513 846481371 223982403 842775979 809219518 469060719 540822915 537832084 820400148 856320110 563287620 683076728 851022718 595414715 466993183 541359214 696059041 266687904 487927148 218731458 459674193 701716888 966117382 695774343 533839130 129517501 752500053 830288851 592644426 263970461 958238876 882463045 893667126 710660693 679212496 317714383 963014315 648637017 494234696 870783412 487092893 345810188 334719290 689499738 108341395 211049627 390923342 955163984 125420522 103777737 246886260 271221550 997466285 757696767 593927288 374038485 402903414 339174822 276766821 637108645 783314806 318265326 601644022 218567781 211920276 855877369 602271071 444090954 830528020 753835247 836944767 585327303 584234594 149802062 511200871 929681590 316359093 636976617 879851314 715666924 788527201 330720364 822344726 183710909 808433620 100771232 460575193 981248793 604814733 323680555 777672366 864925233 128748099 907158689 192797382 666534664 871351617 406480607 884266457 959049773 291534718 789887424 859392702 356352955 895425451 253860503 707567114 913927940 981727767 750189895 128997203 845413632 928203765 217270947 217551495 714210695 594655244 804054271 733276377 458972887 266126666 895539045 619592958 361997356 340499352 222303994 334267414 296986771 954233855 275155865 242905703 450095246 970204077 397658634 107624240 239648553 132320013 418823504 539275965 868886133 588667457 504003193 843319985 943980675 834131754 436795248 994078843 995428509 576085652 547437107 920280735 922478805 900504027 424973706 641063599 418935784 215195269 598634179 879945287 926513423 737482764 290936133 679254240 410970375 706643420 812829994 343501570 818185780 422816652 841282631 222052097 536379405 918048127 938979471 291836525 594719284 354114040 450551232 981847897 275660751 498990002 312910654 284626280 756427804 197024552 458983318 260364777 349824524 813743954 266563042 111436271 931388105 224164727 281721839 656824224 560601698 188025749 208977940 356640263 824318379 668322576 740527002 183793728 951813735 401924900 967791018 380544969 776557212 798180809 391074856 627612022 492034475 397380616 742056856 269357649 689718374 444632813 438693962 234764675 221865283 260622567 674392675 594167908 511560577 184872686 444931486 514142884 359818952 699552101 727664019 423416999 235667517 620774820 854701496 377734889 313542032 557413253 989979315 354038986 333512614 281252846 832189265 980168208 642044876 147195471 474010484 535340076 259458267 399108508 380431838 732733702 812438207 778518922 457990654 237857549 229887743 596644078 713720870 105435931 600408544 679917377 852536144 225141771 806183212 866271366 517335905 835816469 812423807 800890522 510142741 974666422 572600338 700881419 948330108 556693081 642425252 405603008 826634131 821357456 247071365 433886475 564358855 969924516 758150937 330635328 605836817 367369250 997459152 751386012 702497608 623333380 431970687 420842549 714604239 992693714 767511285 642703196 293737388 784226164 173271288 374460702 851593366 622940995 418597075 110933540 860494253 384139831 313504436 873766142 447200446 588483559 362328485 557424138 907857709 655496779 303735297 824308213 847628732 587110953 164778966 613022686 876970506 460410028 119950893 298480016 289603692 857267244 624753776 297495639 138968178 618801720 103813702 242402811 311674973 694553581 591744763 572167458 135898834 638831281 807054775 690780635 568054188 206923030 946602966 529895614 657997622 626096328 657331617 982405150 563619280 592502449 479927085 804587174 185292200 217995709 227130671 552742914 472249011 522549121 582273207 781179951 209800717 595434772 668717326 607121370 687862958 277898564 581166667 866251647 412274612 916151701 365037121 573930590 729376398 208968118 914638956 428231231 594766277 197562041 415324933 979895244 104144607 558433039 473982154 241308356 405699488 508803166 639085087 474142327 508898299 721223527 125879394 153981841 513356193 109304233 337724033 269163247 851311828 675522428 665210137 995564314 545895870 525571743 852930418 254889338 339053435 161467779 458533236 690352860 452251909 848605354 558339885 846966945 228054898 138762725 537734136 577091642 933841496 592426375 741466472 765363441 716751892 293007557 605196068 144092036 778448596 245744699 580251083 652884168 853173662 427770214 432911587 643332500 766895760 613045020 469629505 547516165 859862790 677275556 719771818 249191446 616016804 859320350 734989515 721998607 436237383 276812055 813719429 181320888 442763619 341214932 650844097 342375166 606800816 708582371 488782776 479867247 438249657 842857185 175923020 345885817 569052427 535758637 685732942 812590185 210296717 908737815 783052890 659996720 475101059 839292954 400200693 924594419 753618573 747944894 602438309 232068291 621215591 947502673 538430697 908224472 572236540 394700649 915250067 850639848 630566649 680202614 299528251 191915200 904387429 437317389 240947105 866191210 113109662 181946056 100867674 168464752 801494620 987830593 239314323 571978919 723064993 922808461 644100422 836386653 203021301 388414158 244276896 348302007 504602011 264017012 968477894 192704973 723619731 837538217 895418137 363567860 914317956 846468967 759734323 231677387 996906447 890133451 709973487 548178733 542983362 484925866 643491564 594987727 106693805 776362025 351035342 962160895 298357321 700889987 374769320 771940058 418287012 375838102 694784402 757520657 547538735 110222829 990224152 218879531 647987910 592292105 337788379 400251849 996094134 263909798 659083224 702230452 717540584 971235987 610519528 165943030 549833179 249366989 340483554 411391978 623074542 377904607 298352786 397869990 719695399 314019114 708373688 798785657 606035706 262284483 388201957 672920642 452472263 221720464 998651575 991948539 765055023 210895962 941850435 212708214 714555409 387169898 129890323 319885113 287083609 787613528 450688417 164218657 289248576 118529077 300840567 864600310 775670116 871720948 322291481 294049519 724604936 929363436 180438145 609674650 537010927 692409478 307055528 701890657 715856674 430710469 732986400 852002933 979218759 736893864 676863166 537637751 491373121 231875776 781421856 803523336 869814855 296097960 529171848 336374518 912381428 268017486 831660880 805188935 769228851 785083168 499405653 190017833 269802580 556530905 554313754 625573968 356173709 720589760 933707622 100883604 254365732 669926223 442368024 527341464 190697308 779047069 235679173 380258444 159615152 917217754 261152604 880765393 966301622 640085479 189319067 699528842 480176652 512555202 442258257 205111664 965686604 547714199 570829465 417417424 937157619 837487320 758460006 336797695 795847530 588815644 225844503 772326577 259874259 746118422 418020842 718807959 957317151 951443583 625098346 690880255 973677443 189279823 134450062 846661895 505627753 496447925 820975494 424871554 932488292 487294715 395024890 411531700 315072219 964456588 176584706 889694438 146041340 135146278 813940710 310685934 742796062 734583469 791666927 245382550 619911295 536676796 362753430 512398023 599890864 786263516 635616228 856425647 832986108 969857006 518290888 501681122 668841183 691674012 969185326 770516727 318610827 758896423 956840751 537004598 852384622 904216515 335030469 852671460 974037463 965549186 207760666 334260748 770296418 773372559 555284499 750074505 458646401 519300114 570802445 194241457 678277317 971233622 616230555 418890057 628360478 347211279 355562961 151865278 717237186 798004681 761642598 760672149 653198492 567305069 516985770 882387568 373864718 228441291 218258238 349589718 899559803 245367813 200956954 936653758 251813322 863144585 662551550 370882721 824392069 537219096 376474731 117465683 351016212 978217018 321304267 883163111 224627819 905861161 651060024 812315098 616532173 783323391 581715939 544481037 307637985 709663750 353297915 452912221 281921378 252522155 190831004 944140639 136835107 357035068 426372917 274401434 486837088 395361420 383269858 108425806 501973151 968401852 177706220 790013768 715433079 934793616 354826390 601363198 696194717 732884661 201592432 760050871 270628535 348755700 256741023 648027212 774131843 916216250 820615347 613290972 250512194 549933939 343714119 311874154 194821408 163673629 585481472 470872177 428453359 146664566 298795037 913376042 247425007 538072020 689764173 771776161 702852177 265669775 929618660 726025120 928590081 223271551 317709393 888273030 387252665 280460923 244663547 293264545 120639629 559833479 789393269 816986549 483687693 656177736 561309314 905115943 414191707 123073894 622574942 556294671 355400683 313330657 956567203 946139559 986090542 329001606 988632135 700015363 169854303 958023470 744170340 164166362 111774001 697871124 554912776 189868315 120582665 179920798 419155718 869803563 844070169 738051590 246966024 955083130 922436318 264057707 412369361 125347969 127355386 527059931 850205229 404430439 782164444 884661108 152712082 959995712 703503859 963007142 864640127 472879439 361015255 827351250 402686244 364223799 404550440 990891825 281122631 762823182 519133216 776949382 776462117 521266962 629906046 481495344 378426463 330922295 690408708 413251849 981354238 616043792 981070011 974756858 356324415 341203390 244929998 854929098 573374916 161226143 630667378 383701295 239860331 183412199 848911329 483539643 917533987 920895944 266181530 819800112 273388269 979358064 457868972 425102157 951161329 577540778 847658356 395205670 193400978 842301764 534888579 591447244 773717686 971902070 369021001 210754239 925141120 816628770 864104042 238654915 359845756 624728600 555892045 114028046 877268625 779006239 294956421 637522168 577340899 920193966 958783744 211180399 485004375 527018636 922144119 976280986 442693756 977184580 592638561 161204596 681792770 494893111 986888892 682823426 644132020 496380855 633853705 399199196 455429580 927060931 258463148 850355831 842959297 655348556 750785001 949429117 889177914 753150600 713468011 438158061 556375353 481136925 168527371 892765607 404615449 577460685 203384252 107963491 713370095 637666124 252696889 455861818 772753977 168516657 431116426 690421533 241686963 489974543 578419683 880189272 203894529 204121768 825949236 332641375 988438744 324449591 453373454 666908783 878874118 432048201 646022995 861512968 166819315 558540267 608005265 234744620 338779443 526338806 935730702 323797278 898975293 642891987 439202543 279524541 631040015 364685084 835522298 650224442 843596053 641497225 465907416 883722944 460464095 320325841 264053370 299531699 684000411 539731042 251076155 821753122 465072840 410931648 241824347 685344316 826263981 125798442 910267916 549956910 437422633 524484628 796405719 379205295 626181629 470802861 815798616 259988474 705190060 102348336 915031266 112815351 687952368 791223524 931437994 462508343 143184317 866740833 996631851 345901913 307206114 711268393 169685701 359249850 562237636 934445397 391723236 605446912 513435646 259443940 607608044 968949050 562031364 657330951 252394787 401429282 705676867 829329922 927381450 561547948 371553444 163059555 692114228 163216866 277964929 894154396 191535003 489989915 922359236 524486770 986602272 817964841 385403370 260866366 952410375 715714042 348052867 124098700 120275111 684625369 725276528 845192086 727120214 441272392 186669610 686604280 465495120 271697493 106561143 509225719 856019949 341969972 848721078 686792041 827943590 796790635 222878479 267333611 754894500 840452365 462740636 314954758 205022131 848704626 418632808 120296420 694976543 225901491 129469566 160925970 935586182 833361846 996615949 483079796 249282515 409436537 444138529 395999900 223074116 503005619 254158428 594031283 265858789 809593250 388093409 396902292 739151282 909606412 494160982 491097028 319511276 704899959 787203578 750250146 476735667 397714344 184513355 749889529 947977317 521756240 640723949 333896278 526429644 427389668 244808050 610886705 860976325 682665771 752506961 549873894 178795710 954104778 891970315 474125242 626840628 224493542 946426162 158340324 325952272 332456012 657084227 240088390 865596198 286608001 397979578 104467301 290063529 278465551 593346745 838774526 810089260 650238762 818722458 976830448 368699144 541442674 402222918 612028431 931444303 372070761 387260253 489793692 707816141 877014128 308203832 665653277 449893293 377714372 917108854 880203680 906655735 358075352 635452217 313601789 220505367 506587318 260911863 360203151 619663756 671457826 468565393 195131369 499775895 768243331 166934384 377275120 491879860 500954726 499666065 889376846 212605386 795050150 435371993 794709984 662957829 483336800 982178220 588899389 901789136 624906835 251934552 404493398 260160449 926311216 787794542 942913818 572237184 949534877 379770160 271667889 532768131 138668381 516585635 763528466 191942073 431333028 548252721 341337910 585152558 367760160 781393744 762639036 549515514 262790176 344567472 445731627 802840238 107696359 621743876 579428127 434850622 625326061 123400378 452859344 727515209 304048063 998361379 540276961 300612450 960335919 973893850 210849112 428943155 118848965 709156959 792667411 697801530 865771757 734891723 964954824 999066209 634809487 950925785 256549465 929906634 167190468 605313482 772778831 948403159 957752050 545366989 670762334 235181911 955689592 539865157 526624150 365682192 437047201 897984504 159333363 131105155 245823269 632403349 301529351 730601533 836593368 677652553 718594418 915426820 641811714 546614195 577768849 709479015 802530658 574094137 745167332 246598539 752916137 654338511 732078495 459086462 425684152 457055644 456678182 372155880 450276913 146210226 801998895 731244721 946927936 946908230 314261364 418727363 252351195 284056047 499199263 643620210 470093084 896621095 763090207 353808193 854588278 716929742 108638442 433503428 479403198 313587725 393150330 115217604 899640250 241873811 295878213 699867692 973887089 282800664 335899445 662093229 160630592 254544119 813384907 208558209 343094474 973403572 483205443 242947376 974865613 125091583 996358809 822239428 329182856 429928915 344799493 857513747 243527576 538632957 401974883 817130818 300958825 231175268 782199369 543642179 175445005 743337657 926865128 913135344 492198042 927649085 153812803 912367400 442851542 217322137 772273089 997764390 296831733 592376530 864652581 781858616 786429047 364328500 236179507 416960319 145604846 881837341 457839441 855086123 987236432 633931308 187457748 594192676 912502941 454923564 969808146 344239724 890868798 165358175 470158124 718677226 569595007 890013304 132889715 752509744 137081602 827029054 519523737 609991490 896625251 963287365 740151635 615261845 654279777 259495551 779023849 338618236 603758950 798155256 549556922 220932470 990335999 356545687 342215029 471230769 457470105 422031377 283510754 637061270 447202618 974833929 669612373 122406720 450322341 537772324 603510585 756604213 873449735 505599374 395795518 474773068 304503848 744436732 400044555 447304396 954231239 529754422 875020145 840406238 993360333 238971804 684487735 876425911 346154603 226958733 776362959 747399238 952834629 507265956 800210995 609750608 742865067 982924553 779969791 177946203 798178421 968324177 589020189 946529332 542215418 186247398 115580137 771203379 951593782 281906933 906257825 572709424 544468645 668070048 631407672 218003109 992517669 442301796 636009436 261134691 842212316 973673984 384294997 748459266 529793980 327912926 204752122 181956985 568617143 856258689 678103441 262402538 573597755 470692103 781918285 451106379 811359654 233532624 715499629 307914472 822756288 882776333 713305733 459879692 402833740 768005735 296280008 877224953 554893413 483200188 665049282 929240338 704262854 228130468 591162541 828928036 143205787 412823890 866491641 657179729 447264864 678416110 486435973 975180306 645610705 496091289 472729519 926817170 788564306 348451990 174461128 782947918 952590639 561520744 986136843 869454763 340955150 965186666 349613811 645044349 358279314 718002883 185747789 453717574 437456013 914809050 466557261 770772380 360042794 295776369 572358109 734753502 387409827 924005332 763227462 321921356 487477040 469635893 644800341 351454958 982994415 906679897 282157060 136468013 117382583 582959531 810345614 163780886 441084248 101324833 213001434 103116060 522778657 840786188 371331074 970047712 402953499 967103583 878679554 772737795 266075344 171324636 795638707 677993625 116118261 470445392 751983112 422180904 631761333 663183984 536441650 518852956 768480093 755174416 950257558 635170313 965610128 645410490 523116144 257665298 400493809 333485444 668498269 467774206 818671217 298514429 670927225 639687999 149375347 311568808 973518144 639802407 607031117 618804804 181740820 996810799 804853033 669765268 122517082 852279678 884894796 409422246 108283970 341497588 139063579 627908798 528959541 597076772 929296582 658238165 356806018 846774378 169893273 148887826 907236619 529793236 573327529 490138764 616164874 529462870 385962435 921021335 861691965 961614842 244501620 708163345 739488114 769259995 669568753 516571181 619157629 527467074 519480483 822382978 881736458 557977450 334951317 889772912 919803160 804937973 337838820 642385043 809425491 168103967 406690258 211778480 177266742 223117129 646976230 284022982 182280372 861038235 204683715 705022797 630481044 534898955 947501081 812317371 499340895 541209532 716325726 276829826 265057441 154013002 628767407 677402907 763325888 748416497 695405984 371332516 496804688 992345990 775857267 840493817 939374146 163678551 147154879 122046469 675186913 112292434 250409974 699666006 940360143 669455649 937098048 686941818 405854235 422487105 859640908 387470206 346954709 754923528 644937873 886857649 228950232 655185510 785628125 710683627 922691096 275295230 293938264 815385726 855704485 636180056 641215465 753116426 582838468 797207093 314314829 751582158 594433348 690667483 961463344 477832461 982770002 669606104 516473189 593710942 750604537 984310403 789862863 296640153 949203596 172315124 295789228 374693690 668619678 364430031 931535589 466775966 974282614 278680997 588920688 444296219 158029864 621762869 954821172 756524052 734533457 183656318 221141676 110302991 657521343 604678406 975292698 561072612 694524771 450020583 567920371 696833906 525927931 398403875 728460710 950063799 711799164 303556371 974338941 839783751 715508645 108707654 386693548 534095620 587931047 964344403 549063381 222473557 448522789 844268604 646940816 101409012 743067995 162890373 920331629 129807467 712483591 461664877 318099559 463126711 339459504 782404662 831731508 243229965 879942178 963601825 958769941 515206040 359570578 687315271 243304203 190177592 923947077 534248305 597549165 721123876 769344153 239700167 638530638 686099747 168934431 135097454 465421204 921355566 515270613 954058248 612075649 622367358 957324083 571631940 171897534 158684618 504057872 731729755 243098961 152049856 626641975 134538051 317757573 526141415 351444278 378655092 255329308 573365920 534904154 336009120 579874191 593502633 966845066 855005149 265302018 707510913 890246215 725676997 468239247 735748794 134063381 191249944 701250612 290194112 741838544 664028099 880825297 245479249 337979611 875384235 253873362 637732900 463887766 511099821 512717156 417525115 916532653 963397315 604081193 200757134 310844286 983777032 960419147 638967151 786372101 185840762 676326906 421847384 112469315 929645424 777466933 214153584 179088359 925555983 634282607 406562765 640216719 222473585 724760693 397614681 904024684 346260081 750266845 158075258 550082711 521521608 971820579 196843995 305168448 935506634 850683220 355628968 800205503 459037529 523924139 481555720 633418512 927392605 308640128 653451887 806958557 140778799 884164666 376845829 251892385 821941788 357441160 836246825 168687161 575172354 101573258 505904742 366754245 552308263 593638642 474417369 254259106 218451159 926310346 638852151 895523424 911902795 294592156 915604388 737053921 312476056 885795020 851602554 715688687 331566435 132565399 586334101 791020931 229169349 378762083 434754097 918685210 288094752 689003556 602746614 600005217 737050734 513181417 841715430 277711200 149794200 545509220 135766884 846750415 242638640 135062122 353892282 269080065 372238951 812098230 754844278 387709493 401573011 770036691 741833139 134261918 139295905 484978305 735137011 434551647 275484753 845858548 172614513 673507769 330964905 792297785 212554308 122185201 558283740 877275017 581002818 124505736 747028799 301411803 534779114 753960990 277915304 822962532 204839792 266474264 360095278 239922541 726987921 914345783 663652152 965728068 583116078 652499547 475772856 159428137 716327689 333118118 452497193 834516235 803184837 234870208 966207368 850145061 947994711 322720071 202111580 225339308 308067743 256746438 548907552 796125076 224354422 178031806 864483491 187718544 519238633 348218310 153025639 657908440 636700530 341020322 622453628 172758280 188591660 542263750 442421314 344461025 514956661 718847624 412047416 987186513 362842436 108094434 275548744 955001744 192692847 224150913 705332742 407443413 968310061 811065344 645516015 213464232 374444388 164053284 972546228 752507676 460878962 480390412 868434502 871515868 164876245 334650702 792581194 609077618 446423187 684223489 347051976 499369874 928684299 180385067 664196106 825073732 627814893 759919945 194097897 723314123 593670112 322443851 234088300 497575198 338234274 457628786 233838427 767929521 112709677 143791488 793842380 413497945 597741675 919418177 533973015 283998417 461519069 740499276 450020547 710690461 234931849 169881998 938852394 764222600 148158411 264917779 749538704 820554113 973301829 159136151 311526819 274392367 535758537 324138924 615261824 212047975 945253024 365074722 124537789 426087243 475844608 213692615 370331276 321968083 608877089 183019400 562770776 941291046 956573961 235231187 265679740 686201452 602904955 275516624 917584898 546081759 726930416 302761714 314803974 114637140 301394943 132914111 300091960 868825788 667642249 808033806 486028418 528408977 478403268 341963431 189653761 834715232 412251542 278259786 806684411 298876726 443763950 373345857 899870920 603084056 421408964 968534857 265016369 455967031 395522456 683987746 587604551 468989671 248314189 267877402 334016016 826614276 587756747 699374280 310333509 745094264 472342101 954922294 306326349 730534117 416313843 829632900 692268088 849594241 649666133 173423969 864045890 156518061 121500386 313044532 904772791 687261919 152958237 577120892 509250045 972892547 180507935 802869932 328275301 972531662 720537848 306385791 181437800 797509611 742491360 401409724 678239649 792109400 699492397 142605623 616093823 256629662 648336457 164606087 834551892 457418158 633509572 425745139 745404362 870451666 170758315 776188632 861812343 177031947 655684411 939861308 717482435 203469479 558131285 473064088 828583333 245198533 807825250 382712298 670863163 464427559 123872477 637253026 809677859 546667350 794361294 518691779 951670251 345906381 536639138 175276456 698699086 646049624 706480616 856854915 707582940 545349461 188640666 208791807 247257285 396806547 253262845 125116045 919892180 809790778 796599383 428392849 744832779 704720333 881455955 929059219 346834450 954025831 113586066 174617554 962323571 945033417 687864999 750617199 778595720 874936403 343195673 455583215 348853556 840048471 723700507 486849034 587321694 364417037 110904097 721378843 533829052 492921167 199637174 469555829 466713031 658129316 897966959 115103865 829777472 889166299 988453375 684139383 160366030 708015930 326151851 317319052 337125032 826253307 303079667 285626145 482776657 157408974 111184158 907063287 454566762 885199741 330725615 474308357 812441851 935935499 720417074 416488818 206645132 240161695 398014465 457963134 813249041 966450498 567553662 926651045 441092632 867923774 523501799 656643623 154303497 106106148 385368569 251891351 311384774 949611834 629431229 966389188 795597561 639399923 697834873 710148868 420266153 975179269 223260502 487216891 946956053 750370519 481327900 669600990 115413100 499220223 896850070 238209220 647780977 562591567 279128701 902994958 504255682 895568345 206596895 510094534 244528794 670168673 717434771 920066399 215852574 442512321 726829607 705631798 357168610 401505096 393058643 255804577 511467278 108540468 865881123 109233734 726669865 101301750 708364194 879146467 138045011 146484626 278619094 499852543 247964646 575588693 288519225 282483049 364410956 245351269 987536672 496843925 458401015 953433518 985131557 782865775 193419371 884607705 253738437 557184687 317753748 342043558 159982450 200524332 309755153 385533067 588977701 489277707 906570230 922849939 998722724 328783161 763496576 585751057 432494444 505316976 799398131 458178429 321203983 215898768 932572996 865347811 635915588 900287225 606245509 126902475 398419189 115489750 626187910 205280787 477544557 508465050 948313522 752824929 526136055 271979230 902941684 380215451 677209622 881925190 125520160 686545855 805199035 156058398 229392285 933445381 176867355 912404195 226030841 600633314 818218307 261679939 849934358 426316553 223583324 703740490 330685831 357651912 516045888 154032488 444188965 187179940 908009835 101926044 134622268 683424297 456462054 598878311 383162701 392705253 636601458 221808900 659882461 516625724 409164685 482486762 666082815 295832943 859566664 889548050 508004519 430754811 568216421 881416441 307658184 710044843 806851664 671059752 121149027 673115033 325499304 966310621 908637515 339262051 822012548 206958307 988160349 926189260 836814771 753746762 950930967 513127639 362894453 449267003 928448655 797414466 817757346 714786641 448265213 175950230 559799612 566145518 169799770 171900224 509561946 275779145 744181409 345141834 161281202 393386341 566650905 756483650 441960287 369108428 874528857 366202331 449703984 760744037 831645821 989854018 602778992 868137438 327128769 171166244 635707457 840550575 234095930 771145313 514349515 153624685 616531784 212831157 233737553 870042251 585257131 476724696 230714057 386951664 332810219 844231121 866642749 887242041 871503877 870279890 675811252 521514944 606845549 348847654 674812511 795590367 230605887 573278431 819616062 343588808 480045769 661274321 295850754 321505938 481159170 987982409 184831808 734387784 277837458 358968712 150959488 783999301 996368748 663453278 560251721 839996259 245274202 158771547 264113053 805219723 459255042 766129851 812185357 896802693 100514175 184533176 833243279 467340341 549339066 878220731 881335251 642775994 254371089 193328732 987535898 938016366 177452974 621316233 224267195 352228209 741797413 907951300 829146629 895145451 644665546 461689185 264882169 993379109 209574447 594494987 553679321 522012237 665131849 432296298 934759876 431196640 573726936 338442491 969567806 170362685 307300774 394344542 911120083 704021521 997782259 182262746 212804188 667406220 619546067 801862346 725190809 305912077 113367209 411781790 446564942 627859785 387254390 824625398 233329358 565964330 416831221 596118637 370739535 457169317 981444399 782595255 964118488 929878842 787549010 801400061 539453839 260104345 728552891 616198579 975525271 359888095 325714654 487828886 304758479 806735298 759105474 988765508 728832326 641093968 281468350 586481667 878661079 732382618 825550232 837246272 725495258 621243682 190821504 229033727 993921787 970465650 990741672 796518298 675785714 706795033 226420209 808657433 243745909 702206146 512798577 653459276 956984976 786668412 371911429 698373281 501019431 491137043 450187452 921174226 744060923 555006781 126417149 388699515 708544068 897539805 587564204 247566901 952041837 419189350 633985268 510137925 216302490 508995598 668197650 658925136 447928383 119752461 263882450 630259606 811867422 260929447 705788400 380484411 196726098 550042829 412482386 681112840 654464465 642954284 250084390 268765151 877651099 573862255 775222679 720112614 402839335 631521816 378667964 446118385 919345362 281455887 353525365 406623019 445438492 431257627 544991221 511057046 223481896 999434835 463661134 168874689 106431192 567299566 408760088 436418267 723838895 638268492 632377767 480658321 984274991 480039464 845659184 129060898 794315023 224590051 268681914 701757227 726000553 348341431 178353174 519318870 378056413 276183763 577943792 286112434 730393971 379063171 493637953 179338301 835065829 151826715 959665013 187766914 501259434 185023909 248772594 295324980 938523994 954433437 506807767 366160153 402599212 836595485 865083274 495053414 289230876 763391084 552732370 855921680 816889887 318765973 141672329 314963756 472637998 341737079 126956055 136028640 739740347 183391580 813080227 240761512 846530466 848169363 507943048 229582851 413059192 833268966 473873456 221348721 918654491 588327994 430109678 691426574 256160679 655552082 885143254 548968991 494195306 385460083 705634973 706465921 962855613 963287604 246774220 951405432 225702906 226140683 222268489 495179224 610238554 151047713 704679825 855519199 337161846 783570650 100710678 924919819 855481343 767748621 300547499 992305485 849519910 516486118 218500801 758791592 160430983 732668860 771695263 862088734 797446997 708593947 174271672 822731118 378213720 275613819 264247147 280388452 332818773 751528441 893824654 118391246 474816627 656144993 364341620 549864938 148709897 275446928 982628823 300220959 358352930 779817502 501473811 100209701 932012312 916319308 617612194 913735851 324139320 540731930 469872617 320710685 737376022 127482451 253656256 392694826 725997595 194681191 738303956 677201508 275140331 305908290 301096960 934086582 800083493 975610189 194937690 951876294 572625339 519854754 713776826 144180622 685681481 421373775 607707498 350805557 918506024 366884170 174596436 919923078 212438888 938355932 667048720 694150017 529757805 682944707 865117649 689765935 534423097 921910597 485595265 261250079 127832697 463796037 459912798 119807413 644852212 674109231 122391989 921134865 205673332 541462397 605613408 821398381 762674564 573307349 238222853 483498203 865611906 758011070 227908229 167062343 335084425 579431943 500143667 534335052 225784625 993810844 803990453 795962150 958595137 257642591 810520401 359842304 775358644 793527425 763297265 158965855 790719701 667415197 988799346 577178311 323175328 124690593 549070051 787631597 569306792 389807265 416467006 992639928 572057923 963951921 595613357 957966146 284362996 731268679 330132477 514813763 998212177 347392365 736826020 631475130 579873783 733041876 838166521 199767942 745891165 978618164 838944438 815643212 842852492 305809594 135936208 873371718 480742816 396634822 174949253 829438712 109978739 412176346 335957776 877585562 235650394 814103896 169475752 141548786 479080226 620471933 416024097 372889660 233893802 553118691 636263055 925896862 417181685 306620405 118728398 174116097 170415220 479709562 217732170 391688990 367877357 907980327 968111330 683097102 479831439 920976247 718449440 595633007 688056176 699143526 834197972 577596873 735722717 777925199 485036989 322016139 952890231 554539086 644102683 371136804 787353123 860925570 208085540 484637775 195070869 569076944 304638868 120657413 634992944 128109988 210221129 137951695 482323463 501783626 474081444 439122044 393435733 211172299 926104775 785495736 872497123 883317843 544278183 734341079 768862705 132150591 350582908 710470333 949434659 972045022 809217505 215197874 993897994 707481228 366050235 917890601 117324021 562229207 374393207 659668104 188989920 108220740 300682533 315307476 189687265 464377287 739502812 770565178 346015128 789066608 613276515 903015744 550636234 117424633 455693802 796150089 378933889 483690641 577687671 115493210 659896647 735143455 826548421 681073798 990996028 765219927 245326375 174474546 651321962 724563978 495307681 661797842 652871738 496022479 731761250 724819195 693311971 785014792 494836161 863598215 181828043 673642266 713732180 187741955 256828377 805945377 457362301 296343381 122272877 959355765 346235074 436215245 363883135 125872945 413721508 825987752 915087872 224622798 171564228 308405801 680787871 217956473 962890957 743254429 594233161 667113537 207465887 490098469 586955503 276184846 214978298 987143457 442103374 210261235 741066543 169848722 447741534 902883530 664314359 321908886 578028707 391525666 367159702 500571059 491039291 378991958 736700430 132773766 241192210 188617842 879716901 217048184 628837036 672017902 556569081 584070838 446386335 292180167 976629333 904563721 923855482 652229869 617943034 655953506 710965557 190716935 505706863 723020502 393770567 994180357 249542653 241848171 907878602 976474574 675286814 223111938 461105107 146087774 111207173 742772921 176687172 377646616 304442291 936300512 535535218 425186722 279882617 334557855 151538684 686122245 405253695 119561157 733663284 259890129 267247304 647723257 585195666 304982158 775884989 414135092 913242725 142775992 386517346 629216273 187224400 299576109 339468217 380446550 598234595 267570153 557575771 103730129 643455205 165251124 455908706 915178768 909664759 150048435 791774320 233122229 962658971 991457249 459244614 504819586 181416185 305769422 998033837 723153422 205784583 988049228 465272063 933639797 608022721 298189663 385718185 100080679 985587530 261054589 169317719 809387179 363364641 389108183 328162309 441095277 397653745 216790076 241595625 675048271 762091626 926623946 730862415 350747418 863393004 241064185 346111060 401315007 118974142 929518559 383502072 730718915 600252361 169677056 202813480 799114557 245390305 439579901 302270430 585860820 203564366 988469454 863330482 345958921 466156530 363093958 944722833 703542321 701068447 439397666 429279385 149603630 318749758 188645908 121215330 612319924 279268887 999325056 858164204 925118441 660292616 597175146 235418399 529387397 390517749 927466576 473068370 485298713 624290485 599696660 556929936 593997276 870974376 458913757 174531076 180108284 321425269 380526959 983184008 952123064 864844836 551344976 184380961 415484051 712920715 597950161 694247296 875136442 982065714 384158217 649895068 287686588 816558671 659975190 207677395 863917649 525124703 995143566 574077773 241172872 444767990 438209835 216654171 402046116 519592810 998301833 476068649 122253604 116889798 736899371 740114208 456185410 128251925 938134535 917781465 919433354 815693821 549287845 751476887 120482826 333215908 123706862 249353129 814879846 852059202 697016384 514764195 173682543 208445310 488092855 577807526 468034565 116856853 469868370 407423250 406281844 293642454 996256878 804356459 438212207 472257347 558222023 872127740 745297322 793828359 332752861 238716943 646521926 922387396 936230808 332542722 611938361 406026567 387612082 760759576 636984652 300765586 636740406 360828676 148562812 364305106 943039962 910524960 631996298 127359851 288981586 394362057 951469588 771750354 654999473 575443016 928570764 644302942 427751108 114307033 932706303 706218083 113650704 124725566 594978803 293900035 328065661 183820450 674134780 256146706 948007815 238656092 780190271 992731889 268296891 907371846 995507511 728377642 792432483 549673300 318377565 173075900 765103838 876808120 831795982 723182822 577869071 740971560 651546186 140487834 737626560 762246225 164508839 840398093 459759996 949207331 813014810 699317359 800021338 413995342 345301598 121379573 893318094 739742139 258988831 876438462 327724711 528309300 356821128 994710835 563034340 348062848 819765590 559399766 989548048 707969182 958624834 162752940 399184743 521927517 524110828 337657237 981849707 581510993 728837485 991305757 104282770 468569711 676785993 139033821 454354458 454892045 235068573 463433539 511383695 975690345 166826377 408059824 133276930 738122168 782582490 624045381 299908017 833023572 612539021 925440268 424151959 398853929 333509951 464039383 228674845 178216199 807623577 623199981 228501374 655655737 193340860 642384617 910287844 940825017 644593077 570359969 126139569 376436118 588279010 674668483 723040812 239847676 271257426 888878960 317068007 881800138 122942602 319434290 799134711 331798843 213108408 774717602 756754022 155405371 133426615 491785395 700642878 455607033 170173279 903608768 623134365 742502321 872529681 839664701 291925802 788675566 841878458 173184116 577289624 350138804 576441796 172650943 810514645 385563776 508049343 184402046 558397913 469549633 568346449 143800996 187228415 239676052 264954207 685632310 141795589 245201757 584887469 934899048 597440593 261070200 274210683 749192644 252882362 388507681 286590151 709909172 322976449 659996727 265026514 282613163 732891862 111353791 539135673 397561319 245239142 788569980 466298902 889313983 266175303 641600723 174027937 299488530 554959140 489571658 890560775 730096332 867818445 781885189 644967016 593907246 782432660 930300593 564781644 906844235 601426676 899314974 327904266 663410992 153380482 620768950 702415286 838011617 604321475 454959095 613444757 507852087 314349224 928062173 974749445 240357847 671154246 676926039 437838340 696970442 896155930 256216488 534639898 944843373 856602768 681070882 339362818 863556836 181584081 170480518 358361619 865708775 510727476 671220149 977323342 491183015 203891373 959375283 356768229 757051772 450014802 594061007 612116293 943251769 503456059 556390712 637683416 205350904 152548700 948708496 987511436 926612750 751944892 219505524 706448268 922618222 112812019 917135062 641042310 557875248 503604933 792125801 545083945 699044531 655771964 492745089 608195468 410394004 678677407 369019090 248829574 429697710 669489809 232890114 420898562 326182090 384457006 182897797 137163377 254178378 629919848 232333972 933677798 920073965 812322411 966405006 127594821 119065479 834775723 541993904 279310305 308219145 349078999 521302833 309671929 715896772 734645125 793857328 244901567 584444075 925093997 575705223 609447773 692704374 190906841 244433529 427851451 475914755 499413954 230787456 251071899 861804516 438161437 541831272 565293998 621241309 327918730 855028450 606555316 276492811 342424111 290738620 620733999 947723989 777903744 675189668 666617904 638636047 734692388 726309287 263052692 247067316 807980277 679947167 833650003 297989131 658432378 248014218 144268513 315470215 803418296 380252355 993336047 677686967 294250995 961925273 154984840 273243178 247149528 106128942 917501652 873399029 414813853 196484755 742155791 408526956 271500553 313451670 465290960 813921591 946650848 101966851 337134938 983248639 522834992 809562357 809955422 653004951 355477642 438874330 136742053 457058084 428365857 316480927 897841385 283798249 121082369 563143496 935067950 318855381 262105391 864043802 172438763 744030362 353363718 398008119 701580303 660473248 552205810 586737706 515776810 115852039 996309205 892930044 206204017 458009694 584861818 646253771 855798741 266326109 202199824 360272928 948910911 205844557 578050318 369652832 472274685 271450519 321527835 569125656 258704700 683207124 882134915 745924353 602034793 563486897 139860529 857625951 511159770 312268638 717939906 515120700 888127096 829387606 586557040 361697541 614596105 975992337 134457509 909804053 997619459 277407567 545368469 632343087 984202034 526841387 164119577 504410309 848288873 759781592 700369277 805102452 475575408 416449771 498385105 392265772 109107042 490164207 283072190 356489232 154201157 181108270 454664249 674577300 437473013 901549692 999574740 597342031 883004521 554435855 586622301 735433081 406734324 732915310 779827684 907888937 100513364 212618613 864316189 408700830 312837214 336901871 796896070 342696599 576729567 572632678 953078009 844753723 681649252 545100843 640322110 112436424 362834865 372972142 466366973 580533203 937400515 652007461 303581755 661975419 676731799 780382748 469875145 121937412 653814134 564157786 384205287 902445320 160004637 448990979 640581089 728991718 683950700 336117844 374639160 506139102 711348443 771677063 957132724 979417881 187404949 997758118 433457084 731848137 146611787 425089504 741776670 877374676 992620834 536244222 345033158 705213954 506236396 454662260 508936848 531933198 352443933 400546567 221041622 777516569 524883336 674244637 311289091 805232905 784711583 320893488 706673717 916344052 400573326 296902776 857962117 883652844 879107502 118679528 392930245 495026415 881439986 238185447 706856615 951463902 119640918 701188476 164984433 676894375 212384239 901424098 911694206 517110274 155961823 743197638 568945898 956363764 172792252 431626798 377040342 283186201 689937577 685134243 789036852 211020464 389945985 688024147 458574744 712257018 276709852 251275485 655916297 351764398 416050074 154999994 546152066 162159357 704002097 403712660 930823471 259391679 841859325 962798455 620960654 549497063 113362766 929168036 433616146 671565659 188665801 553386582 753836713 747486695 117631208 389678066 185319712 782988143 884947143 833195151 722224543 101306491 593481643 427674378 830175897 716064792 984615531 387053080 530470347 816426219 926316953 370570670 370909455 424149751 194431794 439551193 130434099 314140718 942076927 539183031 625361999 259849374 455680271 890379311 194566774 539354124 967876786 574546181 291238017 376229033 123163491 979104241 752730985 107094952 525649346 135502025 656116207 242681758 130693888 995164495 759184704 845600009 343945297 726235790 786478802 969758070 913816051 409704856 877544958 571394009 206381986 262599004 246064167 323646389 744831947 201965793 719804505 925332134 142207811 297811811 951682919 906727275 882761281 977276234 885233198 177745044 194417234 536010938 536152552 906015029 172829168 870475600 745651866 717603651 616205321 508170573 824688984 695958145 600114145 706800493 994715015 220125443 806105338 102852434 887653780 290622209 773690257 998337069 504891033 127819584 619733763 465703578 559040597 724117327 144139014 541839209 493198186 298805002 273114666 166537621 412692814 862279898 206882328 584324117 533526636 110579765 634896754 230818960 461431278 739442037 297542539 627727022 428571560 385995425 320910510 511400797 391907468 125631505 257615583 244031906 709907618 768197371 962512448 885369798 589647728 175063874 877067644 777973756 514054520 714837703 431594740 193134565 572263495 244225698 799928591 111905204 181453220 506556280 922823946 208563882 184090614 277229320 569268854 951594127 460561104 930786479 519479590 380728449 803981728 557673848 525074765 718491034 404740868 979130253 882437087 306249855 294700686 747910473 798513120 755980547 355097482 897426325 279305432 393246110 160347087 146290641 994866088 367397520 490171467 949154872 225859227 395282073 336374838 781116537 776275767 573550884 419551415 465815513 351571208 769047841 541924016 669816649 996023304 940054871 754487579 354305774 365536953 631374278 782454281 714349228 105519853 573478656 753149163 442048744 806933734 243219998 561447654 459554525 234581496 288942014 988033919 729469354 574335668 201542733 293664171 660212761 857956702 427965137 377309122 205931691 166442650 539425501 240867934 681483263 448373677 233928143 675165098 437850748 478399889 318402377 633568267 134112543 723694084 328647400 853398706 600782178 782558390 709945594 221715435 182882840 523121037 488040397 320505408 306643802 962667338 403140359 221835532 806803537 450138333 684635482 966483862 668933628 863820444 615028896 757047054 141130443 555290146 400368936 325251932 977999813 173167829 338217549 351907273 115293738 307890235 817304224 546177049 743122896 518906474 255364917 499542403 907103509 658818464 293069705 724788973 896029128 868479540 612926975 872393435 325789170 906386839 380833496 700523190 133397410 880224866 898947317 674006611 314394879 622187059 152008162 722339006 229609189 196614352 516675481 134520878 309699607 461323762 120939889 700053903 832882168 526489944 562990424 657541722 183888459 726011714 825046870 608910628 355635309 721060593 433159438 659845749 868482396 840467711 512133616 335848045 718788691 908442224 480968375 534158573 794146966 735668460 329333842 155150502 226476179 468774095 829630972 171290723 484815847 757114568 995210840 962934634 561841590 432015025 849449600 843788453 935542806 619308032 988815341 106940677 793315739 784337888 912959778 266173781 802757228 754586076 795100511 480499683 721159019 663745959 140721373 924413601 192943818 862166082 367480591 534697849 113322940 601736323 246210663 524249770 669181935 986493042 185515625 138971723 144923131 774534951 883592349 824886407 504481827 951224483 213930101 600341012 182689469 476958803 108826558 545749271 422409320 902004776 480527988 951309859 640553159 147183411 867273741 913594545 133678446 965058690 405478634 330361037 442076967 344148453 415353832 126780523 632044283 604780786 869367158 402481587 697237477 805629873 144155691 732706119 995970903 648435517 288860474 747573984 187701880 304113948 772363535 440596111 838261381 340143457 825465552 884072291 177546827 485807648 151760084 417111851 486600904 833955216 557349766 808222670 934976335 841895310 990057358 828054733 514835550 465224754 349837449 663964892 806745557 193346828 455970127 758669934 769865022 872332907 917798987 227958222 280924606 514748402 736680785 193094578 533643626 399332428 630517781 687259530 596708693 347117046 747312364 928141795 883651115 687065375 695743938 193515385 136182544 917482205 865867616 373303333 639920985 705688551 893346054 623181975 951263789 768499753 640213941 802867666 267424863 149676555 971863669 412364902 907274807 711352764 680162385 413194157 921373310 337114301 592843122 159505316 966952586 209932264 461339538 735859808 536452252 868762023 650199600 864387764 994667206 937648264 729562752 744326504 410956267 715437332 204077037 479364473 442786086 955297514 975056879 875652579 200778117 738144030 672273010 893876793 793352748 656021573 190359024 470538035 442672819 363981670 120567918 968933891 907900533 836573299 830905260 271312573 692107786 985978177 365167859 545373721 437956562 888919359 778616818 890539591 370957359 990430293 346220398 861405396 630216692 467721103 404827057 557648195 485494504 962041515 835412490 689883339 127084917 254631931 316864530 374495873 398913600 380579771 673818424 295079657 733787770 535572407 844100721 468667547 382638311 737966475 785829724 510398111 535613572 199478160 918729225 106712978 930576414 834608302 399083929 751267514 742489641 750566494 947949867 462185671 442490195 653416036 890035934 305313645 935662800 933808736 514351425 700037356 134709895 418991179 666314896 395396561 179622882 104059171 248373107 847139729 143925608 458554629 153449555 660044930 296244621 486799008 994180022 511690070 781127154 492677864 758001247 169605291 192404652 221565098 251059860 571626955 787963481 851334895 220430687 514950120 193104050 420519475 271010134 808752863 102137115 557429953 963764258 488641981 212518882 595478697 652493844 157492462 457739079 147007952 918634058 184229184 722817546 824086113 183358500 402066687 686107287 285524655 769240756 863118591 642354602 216733098 563612057 713043567 589932756 703040996 240602785 261541021 910911714 195355832 942999026 143804539 847755218 779378973 895170211 529971624 751340743 499583325 947330155 133795389 844413201 945962667 834308042 449879918 313974819 426690195 936152036 631734772 283332754 656992541 454974157 951392831 151876406 546764308 211398430 941036687 615155999 753615753 518037520 571863165 904270662 560860499 494949889 505203692 604368302 747196688 548094545 226797864 978341248 458199720 690337491 880159485 185846191 206414322 318296924 749716508 601875763 191382288 566720170 552741852 906728449 928602220 972245892 648378584 294531305 861407273 165677608 989355456 426756149 133139360 832813924 148976035 283809874 657678453 866991910 920701384 989216477 946882564 902852601 315087188 395284668 110341029 443806906 118664855 994493820 209842417 810247810 735674962 601181798 693661530 917249554 269222308 248128733 945980845 833635170 143357636 478390841 243087942 525276884 728902927 562162570 633533764 531910984 184454340 379536362 263806267 478027334 973393769 114386390 862886390 996752607 565978852 264552639 425826610 856979802 348554554 541472837 739334594 768238393 563377745 437658964 797558938 946521053 165913232 651526940 880122228 215449438 103017980 606255297 557668542 738803515 672535459 634189738 488412033 168640185 737822190 744663716 222432819 608202972 706738581 704784533 400365206 577695737 142578227 459786228 719749038 516738399 439905649 820073192 985133233 908698554 473232132 542806950 635469393 974160589 241129132 359051520 681881031 686173633 565239801 812063532 157032597 180511475 194985695 602421473 809587601 465016294 514659758 996922342 896198993 758094045 601384491 415481826 815424465 237393476 652795053 299304078 141525700 357261715 225396970 501402681 783939375 426702902 540758473 191800793 704059849 796846969 981021059 419111115 272441316 578608959 545000632 916106134 893789123 276819220 733831810 641338861 558382743 358600288 932141893 889115277 457431743 700530536 837925071 669091539 761812267 938978409 386732183 390509215 945174489 651327103 793154455 550227109 805431555 875328321 330147317 912114973 552964175 120119626 181660169 280042771 451690636 708982965 737877353 293156041 398245203 449602507 317207713 490371089 873651798 500547998 384324840 160466412 862983532 449020739 429160007 999103140 677346048 643287511 560561487 824525418 795042904 585939824 644492490 998467581 104811111 263160650 596915610 209398841 713265301 737356638 922570626 820765525 486687729 155323582 766285071 855222922 607105250 580318805 211591197 742181634 542640746 235304311 698345674 736269492 150225325 793376413 810767131 514325115 999208004 231412805 922990109 288506408 907412030 999754697 715376123 176488178 280981500 193318498 410818684 334636490 374223279 531735608 634933257 487067973 830174089 935481812 682153400 712749721 708246477 312589554 542203248 733052827 350388453 758839038 367988242 899017769 786373093 452589308 147197521 201984584 499595792 884443082 602966518 301681594 715891904 764087772 253943836 209101788 569804168 446211206 996113095 624770905 978330345 364927707 762298521 479622503 838888515 161068449 302750518 399153240 626778799 905056598 593877790 119904069 400563939 102924929 329985997 505052488 550108909 157751555 592079229 787486811 532039940 908015411 467676420 874539026 967659059 356392670 390816942 754644994 257709721 919765211 848332832 728776435 960908649 618217162 267571941 777452931 704045451 305438782 620293518 626638580 413634791 990249454 661729305 882321206 250872556 122843567 705375167 981681817 170016307 435954168 354676435 501836965 719759318 119367761 417167199 315123768 797060575 752163403 185977219 306742841 401319902 214837036 620572776 348632354 403279634 181544689 442152798 144178207 700671521 971148063 157553898 249898317 771165025 963020112 447716113 276689382 217315236 503418232 838190940 639999174 413988613 454048828 795871535 655771524 352377689 794775866 368333094 789323941 390408179 497208146 588284654 760548136 434823487 980544427 224440543 550701468 278919008 931058506 749772543 993365742 502636337 105231422 317801643 582391507 694432795 868503490 542706795 483965695 120763149 541615019 697662037 577007434 381544187 981589828 657771316 477710021 660284125 802349107 507277125 501179812 159554878 325918167 710971932 969139766 315587533 164755149 991902637 169895318 686145878 622087407 686409460 447479878 765261767 561654073 599700150 963074730 957274019 705300953 556792532 884768611 330752390 729690366 531278787 644999614 909158620 542006248 646591771 932077755 593973240 492106739 323695417 864060979 899378148 269219449 904358958 670226559 659074507 734603985 635902560 203953815 565561367 167418010 800443452 185759413 465543729 600290540 115053205 656479892 105919902 208380631 770708390 784642092 912507527 498356215 792500640 664574219 790021698 923215962 209936337 225060433 910749211 403959633 262790229 846849575 801268832 149956266 368577152 250332836 681699012 934768754 694453812 831605510 428054452 370978390 979735086 327226549 704964348 219904836 344033647 362084627 883040321 378627044 310336968 468188457 794697275 689790068 950109260 462240285 184052914 806666127 115751059 623752611 175022574 509316138 846933842 785828004 216794743 323793581 318496745 155578419 952045596 768828704 141934500 282786734 974618256 150683474 821004402 303001714 350439980 769949640 875815687 751520422 563629000 325030848 653561538 292234901 609523978 404630300 624402059 455470040 985751960 347723507 888515447 875431070 672178643 333058887 663636267 793632341 589795865 643578637 584484298 543044243 577539968 438135937 727421386 784343113 653825901 106244569 102538065 549727343 830199309 769551403 287764558 531124107 561571087 914818196 932687752 863550501 847659345 345615685 326392147 897337502 500841993 491573059 867340559 544932728 650239036 184259521 224339457 909921836 335594971 717719167 462958105 551318129 466458452 664261193 111973762 294194011 209465383 102479319 314885898 159850500 263463386 818583290 728807685 969806801 674867519 824880173 104066972 766515463 615809744 235487526 271116514 130172329 223459327 534203655 854880306 561092417 147824647 707248678 116806656 873102502 711775109 960549930 310910449 860723261 473988130 235275663 534409245 690050237 923366179 628158882 782315729 407144266 519093924 118174825 497421771 926725840 675901908 709001132 132288503 561794699 649012582 860180285 144377204 618508993 114698056 916973276 430861395 836644980 977603369 263106690 453402294 101641761 255604015 186388769 661261471 925880476 563410575 205688261 529282532 478764344 921946726 740258777 824531895 496264137 729072140 227106636 747789828 814033285 997752306 749315565 164109396 979504335 454583379 782139898 523836723 981506715 437537216 703895416 777410471 377433238 610815419 520269017 275055617 921977559 356712970 697132960 104561495 657646968 422691975 302016871 133748593 486250889 483740013 656832464 972371159 907674006 571484863 966118904 923696448 457121787 347343436 990486177 172689784 385688186 736478408 834290385 291026159 130105624 514528346 537045676 426610470 320961026 649929412 934814385 532868176 425395695 342570102 642943042 278355628 676258305 123388671 478157473 541119795 640847470 805230504 412153331 223285939 899431008 225090781 332742391 903466597 412804945 798692532 721905392 902850958 524331457 888088959 931351318 523823733 320403266 358793011 619706599 699069155 478551923 736751838 728726604 952918858 814966710 369810173 341659435 270219477 123435951 951509686 580621667 286872009 870922717 238648029 508500884 195023704 171238766 521384057 367678284 971744875 946939493 688685248 612976494 428130641 174974357 976647090 356116690 992539065 358236812 395655671 417041215 482075979 996311316 291433560 554258861 453172394 531778068 287576207 718529710 577276898 303939346 548669107 367950600 540185230 305812630 808957525 122832372 440022808 619214347 231258188 434749653 363331246 689136668 699807188 994112576 892865089 337265660 504621070 857575620 997758157 604887509 401051600 224167174 951493115 374499273 122857494 426452265 799322040 117794897 969559830 852368144 418951731 744591815 220816934 224700186 991851036 346962978 200876950 291941211 441731239 143379148 191457187 291488278 449332187 213837713 419865131 340166065 200310961 578959794 116629655 980584242 202859184 999515533 144016822 199027400 884038207 701328215 141655832 298391283 826004560 731201034 452905588 768409218 897211780 743520387 447992650 125800012 484971804 398712487 638260375 175314130 392947771 357158914 932426330 949781008 513470863 607745695 940265577 168427162 362891486 565038545 433296306 393079590 347420175 873727296 181381042 954425211 548907086 746346513 360182901 814202522 751932343 261587686 558284518 355750819 428348316 933488182 849241585 813829699 731163078 801928087 123443838 329775284 829747353 435485692 135308981 724324889 937135211 288983966 175402244 484446717 521240818 488232343 467502639 892866146 305347221 758185946 197126233 163453227 835226717 221777388 683023872 554141338 663124911 459666389 626043944 151344883 647411374 358298617 180024883 893125165 679657707 798437671 352683123 480552084 939292279 681658493 597027164 674245763 310190842 684189139 318295264 469619848 568560418 238475690 549280300 987157654 978079274 985112398 199734591 822812153 121546215 706924497 350405265 696076656 184226554 533053058 600226360 682576701 237611569 825613490 194381352 662863675 422617078 215818151 591554301 624591036 362358771 185161264 725261861 653177415 106689940 112745362 407273904 729287018 453739567 871788755 797496272 219145103 539619076 343366192 111247471 946971701 932382989 699794799 418566183 690047589 694311780 298866291 474058413 182654376 833652324 358919870 323309655 511618999 310732193 176019534 274090817 705076893 173983756 487043653 679096265 622540645 430186896 576320394 840905199 709410834 189787896 941372495 158739803 923101241 660660449 817378048 256449280 155549846 677068609 299618465 197409869 557354903 445498172 545008706 940220724 622396483 707317209 736452619 804078883 898495356 377185830 846126572 737473480 742289718 523598087 603890424 766373777 835748316 922819429 505116403 890419951 479179849 514792864 904473724 143706696 681593686 761406446 524378068 249548731 200424531 856694096 925620468 706060800 835647624 362827989 365289422 692943852 744172958 449845611 838854804 273259987 537966548 710614271 897282490 990621891 472446180 831220339 495579908 365690314 418533651 188869365 307072309 314291956 264684851 340586530 514321635 523823719 960009724 172926446 847569363 174499874 318610186 937458522 442080343 545395806 607484515 754018167 216875251 728255800 913474203 578099802 193958650 535194949 335643478 547249191 110084202 301112878 571245723 618627685 898592605 879184159 744192936 632936960 364513736 514002160 567676842 243549884 983976682 924239871 382797187 687596633 852776523 122459332 218658867 116903727 884891013 533819729 237633459 625166276 407364287 773242375 226862704 371574161 730204901 895361946 780146839 205895913 789414222 359564949 319776761 641227544 192943900 708408173 658204619 152102853 512825364 841683814 759985230 410624587 511594700 253024725 632311398 696496098 210351262 447670023 262629973 332563952 150187028 629397394 217933623 592501371 758372868 665338133 285673818 962261570 135418823 859866493 628475478 178972227 501933483 309196069 849019402 661867805 847558947 920316408 187498410 595812617 114592367 386908610 989932198 525434002 786161477 819350685 278935944 375048848 289788708 967311749 113332775 407997652 750750242 543220243 411628398 966269685 888779014 639324220 750464333 479449855 361759221 456740344 815255413 268966544 421935231 586147641 101921501 948582583 985204521 110316383 924363831 424711118 157300538 305987202 350761629 190611286 392177147 489379384 419465054 296835758 375397766 213931597 708885736 293257403 161621862 723455335 132253966 824501995 130260496 395827665 498412560 490364158 453095624 966077779 115322335 184958314 499859822 302922180 441747205 163949463 638755052 907037475 304796817 853428080 306897995 780515306 426212082 914746146 647587866 206821626 567688945 624995518 633376190 343780563 855801811 740768571 272578486 638166327 422851802 906238502 209712554 702214788 501827385 237552997 782154407 494837565 629286982 873217751 467061215 703079189 659995763 785621119 856458207 357093408 309784587 288555380 357446408 935406245 393071606 358773407 576273102 565124480 423798166 340031647 887246709 897031175 232541456 153110109 393133086 808963331 115175295 877885806 259403848 990183679 546766584 985012229 339491042 655404976 801549486 549780935 966715133 700481517 467274260 156623436 577506026 241440599 378154983 865574182 595950686 449764994 881023116 663530843 355316490 633790148 952525852 798639507 820133618 668507462 856985496 950828673 223562482 422440754 829759324 570256260 169924160 223285380 347223719 834991383 587735189 572590853 753536821 441563845 208186403 551367551 477155961 919405872 498618237 361343205 156708515 846121666 838015145 721040828 433036181 812448425 461127027 251142795 358410497 112666122 924586483 950426785 249000225 375229800 816093848 214702624 467700810 974771809 554597077 787626923 523035908 781904852 678004693 359062273 649012378 731657907 123549556 747953805 609496137 689401765 756547449 405884270 360739769 282082552 819837582 923573421 300037099 144833747 598058989 839756279 744533610 716899549 630945482 885753478 226903974 363126103 832036622 405586293 633236811 440591057 971405713 662424364 374535274 629487630 363539596 925849800 258712215 819471791 787453439 792785292 183530099 921275794 230717155 433247475 364880015 469041365 704772266 814631185 983126072 525495356 751566685 877188777 218804463 482055099 297399347 429868949 769682809 342317548 411831868 890598154 431284019 918485181 373509822 464962556 998063360 998963227 101744245 723275418 832588710 690464272 343373499 765173725 381753090 604893316 951716203 524332712 936077382 380903923 434236613 346038979 712323421 232792558 374561852 930338794 408506433 162084470 513115111 111712563 609150617 448978988 891096793 629017240 981153994 109494641 831897763 325077827 715256145 917205710 966995582 909995553 437005067 983596930 632438756 575865948 832503999 582443294 609318895 445010068 760870991 414486749 532372816 332609799 770557297 724051776 891721225 845207565 840592487 754457202 253892801 744298920 199198376 333555277 743609203 126868591 579589933 583614114 681597128 337805482 417274807 167447488 622139591 432289327 533114748 876614022 393694809 819863908 981156156 893532171 565662773 656719211 313295316 431449469 472402049 114171629 348825741 587561668 255997077 726998328 269051449 256709493 492606098 165279006 275757129 690968729 405039757 713060078 508623470 133132517 180480883 136759414 171582225 886403701 720031619 758598845 264455126 661659245 857252958 206655772 661909401 443559089 913667869 934908896 271640003 963725606 272046403 555397946 561222041 785480958 279290894 517812454 324181521 632207267 695944421 681583380 913980989 282438079 287641530 925432250 186267837 855640085 959308161 718063257 235528595 754138601 637803011 692566508 838458266 992472644 860100232 547161800 211620229 752263095 656465419 709106366 891037546 636526708 142784118 863266427 765217231 723686211 557941934 545826245 282219061 509711170 972460223 160759295 825162580 784614230 297048195 710157346 258450812 382931083 491322035 167233059 342270863 160544805 197806030 257552992 592711184 802746208 415564863 511506687 695473753 231714877 608079639 428275259 290376247 587291878 762009330 338042263 906532300 360176926 322428670 841669336 667693705 851417827 718158277 704707070 492859994 725771096 949618617 170182498 687691359 401617530 197023377 229605371 931734662 224302865 355383556 261625668 252029317 869145146 188038922 250091328 333534290 440821895 133697838 270239866 419406297 403817462 472364480 574813019 273169757 722218543 552343047 988804048 280040968 215017689 347067155 320437487 591522460 772171164 376137754 895273886 214808885 697578935 487402532 682963192 974140385 336851990 529430533 951431429 423011680 435521917 746619430 589249150 398975596 315548566 202680130 229928381 699632124 319944390 552598015 414920834 439460114 166277181 433502304 910810613 856798757 442593361 744615738 455824687 399454600 846780533 242193113 351547333 982856283 574575156 672920150 289734578 803342809 343742978 169306598 302797546 755043973 928265441 867272731 514057055 221746097 197432126 349786100 330698527 215756286 974644425 237576014 888961514 601542001 832015627 268616769 560925123 416520655 685070801 855565344 873494913 613135631 920317776 605755547 130440743 327545535 740958672 331176174 359580609 146492947 981298042 717971462 738926653 881672645 693235572 342284293 335652235 368148183 620087830 291331548 121919987 694178472 875510403 580554372 778631549 929517845 278167590 288281573 334937193 677404294 583806742 721462383 363694054 243461473 736903052 541862182 727453042 796497451 352347911 693104820 667468100 377957392 525389798 312923947 165565738 438269845 490255239 335227343 157742425 520165629 334970289 661224176 811633418 818123032 400105000 174714951 988820389 242846260 677997923 203208159 371519563 276144160 864017923 386046303 368952374 135168721 934200151 192786828 630275216 463306285 144459625 551631456 134809006 636160236 933860038 364884383 812507939 389035596 495542196 529094943 752885078 593725164 276922118 356590344 572618916 694071715 533838541 752345607 925758148 688486989 368418273 205777326 471361024 333855190 269073277 490439720 554689528 727398898 660579579 608269921 392047655 365063580 282716289 303676275 111954781 874049099 902709108 761864993 286891522 661662232 759348182 325836773 503762007 118051319 891137832 496696119 219623172 184367007 276799362 696560833 224539734 287998402 355063819 629304299 538206585 701291688 227933896 832436253 757939768 635892612 840527555 673180412 838142127 157410687 193177115 216271321 247269513 828264986 614749948 669884484 305461986 787632822 582024565 590284226 629857710 987300238 264209758 499119676 841040373 914355431 657571146 198318759 519862165 533911914 269196159 949242368 376657003 180202769 925123069 692712643 407180986 222516169 489154063 287281151 607222019 521516954 546271349 604519341 623127339 188159759 814725752 924694827 395166271 582152564 574039194 851965377 959755990 726296286 620446795 482963151 608713290 410749825 722964304 801890856 302641875 945692343 937900481 648206900 692875225 844113967 777882260 684777401 503157531 483214666 830683457 555284133 898734868 762946728 411313428 193503835 956007564 964616594 413395852 413468073 238135297 543736644 880090935 976571307 693496130 677843718 795182842 780603410 277417082 826248456 605435870 173047416 110156637 570041965 989037339 112971998 493211638 867846741 806490558 502516315 258590167 421845079 953673076 987195600 474814004 846456111 820132888 105110769 503775723 278472049 164232780 145189744 747940363 400115222 756502832 103825762 994174629 545577939 260565576 355275787 516692577 900782649 475491581 572068490 878356400 980253903 980729276 708734207 367434707 945545562 467229337 201961374 794446431 305555422 819787829 660830063 628727638 970522143 792119494 826173893 394495053 628133970 499705253 830444294 107165290 360049742 670622007 826262379 534477008 784408518 349640867 455464213 739522747 278348668 503723652 399044011 754513719 457909863 631548196 909858227 147820787 835744439 708806133 846458587 365278690 518038108 523702119 365171599 170856657 778079079 981552462 927870382 906166327 138844956 446657502 804136425 279340672 555407765 851425252 504685307 157257578 690665679 764288903 906118847 827132438 680698458 233415762 735163954 400310577 536801670 917804880 417156807 524958692 930546820 139345715 598152925 751664349 108773330 272781245 423352426 931269605 501577562 507705737 240800226 219976629 832677944 357586998 487423916 692636127 206974344 576098990 625989881 889874139 796373463 840772836 469658303 664975741 923345794 861885935 104264279 571914882 217579775 171539260 892942945 454888409 781287512 770470348 348407418 347937267 415260448 220617223 171692057 901509162 286540822 247543649 487201814 390700016 944050612 933057333 665072504 440903398 277318500 721093770 899595480 620314760 602035579 254643050 477421530 254438447 893563494 225911453 181121703 159121969 152008519 178258828 506549793 630337517 780532519 443203468 412042607 100371232 198643143 628158737 343894107 894904608 195913294 569656341 594014786 892635389 277277867 505204386 441252927 849615460 479243955 720364698 121124623 978958554 742291697 423792969 231480080 805387776 817165559 715268853 756929273 608070456 655236959 985720558 999606552 248324467 956718987 766191516 633695170 480916320 478007070 214246456 893899922 993839908 713835381 835119481 815002774 467121793 222158307 923395726 251299049 176083890 682535505 645142291 634333109 601084226 967074166 102948489 939121850 625366306 258913406 220929017 584444118 435569597 819147310 287773741 823493810 406209146 686800182 907958042 970789396 722727339 305540451 146213001 909555404 714649984 669773507 376796133 178695819 168027410 964608311 911370674 189686331 218414167 815098848 455937642 637805292 580812274 415051532 325505567 699914626 124207976 137069557 345842656 433325557 789798619 815762918 532316199 132061169 326656800 200501961 597042563 286000239 286489804 998077208 429576861 136190880 383605156 309720945 673032076 521027419 375238452 193286147 635423893 177975476 769226103 969258071 420673576 530583541 340547615 999468568 115772807 794922879 395821623 505951240 345447671 624014865 282486720 455863650 143918874 802083103 749005292 568253104 281780231 503060409 313424186 139421950 559106927 609315695 659544895 432394137 287422230 559166717 335088006 131980918 682502013 426817309 330844401 361431246 348559842 908448701 149997589 641578022 618088598 520590211 762342415 771587136 478366899 744391105 154617680 802109881 166284776 436014560 834125620 686790843 161839499 259687976 752453286 216953254 860046051 415804715 824234155 853399960 248364414 401746529 604068620 984596987 460961157 264460468 686395418 555903728 760829543 636614445 272828730 597667539 479970521 782639462 162948953 378200623 658505420 545667417 933047169 826931646 555780390 415774433 426319158 227555754 175066690 107207948 202315337 260702135 654345769 887434325 911931195 505377363 750420840 303290929 588058585 557826891 175909046 263455273 430921568 706229647 320784173 740625634 994547634 903659898 444002673 480731135 705702438 583155970 913912364 668286542 232638871 262406118 257643671 804398094 963560286 540149945 856188057 303392147 627939733 172644419 736293096 824839123 414492634 782859526 231915633 852311589 771385288 715098129 732717046 546276062 449888477 193798559 623180993 589566978 226895196 833960194 139570591 254691434 374216413 286080921 484621487 665735170 886138872 959349325 242531657 705202964 817738265 609594793 636851118 177578046 456816856 490216534 999686129 539518267 349723050 260545474 679427691 414566885 744362063 837606387 794886460 657768326 395943162 748657217 757129335 260872633 136553218 989449099 884365102 106777347 138031704 451108128 165212289 845609653 482743292 191827178 653258435 718074620 173501059 747068690 171752786 487453976 324367499 467459493 775854207 405710232 950933009 454884384 361196883 927294007 667652557 809983093 832927015 318819946 367071793 627988480 792822958 280196709 928582079 516417777 808691183 950182867 605406263 310385298 105781950 576708203 852229402 171679050 803736104 409523506 852573361 228890687 907281893 891965179 709570795 173513732 491755998 383748220 259349140 273369178 878912138 459567044 449031606 768985046 508589254 735661306 395424136 278441944 458808246 148239387 532864818 656954500 230705201 612752627 969744798 531683055 839757714 570053508 350441657 186777866 323434559 539501019 699212510 928767087 227051909 962355741 706223407 574112503 865082960 168526224 985754116 279152685 773953252 662714614 790273793 485331814 907819172 709722049 209924293 879311839 467775672 844562746 826703419 502759115 740290556 273843325 459634098 443238493 744535094 737514572 793023666 617033578 253944769 780680238 975854792 802895191 821646547 153872097 604310735 214152853 228985202 425574891 819574235 758992171 131130081 383005891 560084169 482825848 132401000 867887750 705690552 550610913 489244181 581958102 666629321 367661357 299907347 216086247 510885100 775373762 374771867 833670724 214914955 853348149 737253034 403009494 807062506 702007003 333426244 231176850 346993701 997287657 834109014 887576467 177322633 161876228 381471036 464773001 536303503 917911699 535190037 695940828 934187348 131926197 203647545 313293695 460600562 145642296 504507040 897926542 821251522 929530931 912511964 232707564 113422119 686077796 729780073 733703664 592269239 361577744 363126742 499341716 349863943 631688252 772219658 367654805 744260812 255002537 311344369 235178989 188178192 994589139 736192738 375429313 175399628 548230367 497050947 697948299 672271061 303932373 207895075 167779104 928230869 972218517 222611144 348902957 863524278 526266171 465419687 477475581 258589793 296393739 732418724 344808359 153346785 464646861 915047253 279474471 664306069 564682943 597443788 306990819 724701284 183031491 691925440 652408783 155049723 569709730 797484177 826134713 599046192 578639494 420252174 786168705 409149506 659855035 267183043 458889411 659741664 286795702 549796405 948986116 946877390 202028915 805255114 365932444 604726619 584147916 649499511 573792925 436748052 788129900 677504800 232325358 360681186 438805235 670783898 745217944 126487724 194297738 142870657 614703903 292176432 664294259 639180261 888356226 483400976 859081626 923795032 772916044 915993560 929610042 605927831 847709143 266434952 764860213 755535490 557758958 549708474 785290750 597579342 192685525 975511046 348356618 515558632 782537027 547606893 843996842 897964693 527592455 621657415 630765163 972415663 518748049 313579032 799484697 768879130 434396846 283437886 240206796 941799944 992788830 406641150 473930308 374618066 822578722 433400253 376364011 627889325 960042065 684596550 651658029 269350741 602966364 735340540 103585817 402118602 136843346 830754338 132191326 341725907 453816836 112030089 188941335 862715072 673524789 350450059 355575765 762460342 781005979 799649575 663393157 372176752 852487412 291957905 369843640 882251736 395701256 135173215 453645861 997652663 538090784 491625643 343870127 371687910 160129282 721841502 303352433 530225686 894409691 559194545 373790402 537728815 345767929 111100130 817482511 818040525 823436587 716654216 654119736 757047740 507279630 483551105 874856673 727315615 509056117 513429157 312001036 880346024 680084278 177663911 676522764 469634838 490177783 241161983 947204499 639109463 180927311 684714174 259928894 119318530 830024061 106845307 303368708 224145741 661082987 270243016 544547123 601764864 354338450 684059029 680434457 415265623 877597991 780217832 105397012 263563316 338275796 275031171 997282064 312895802 173878586 443960927 501917125 930307932 391854036 779362607 377249030 699888187 797974507 934027608 583471269 926158584 357711487 373516978 484412240 375340928 668935171 734292500 790650511 258422934 160877607 893541192 597084099 425836537 235946983 679146455 264318611 927112749 478259606 762968033 574924206 451718681 302167508 703972717 585392024 368705172 724691016 428474830 743345769 223984229 768003239 362825993 371674015 505929921 112021240 236609298 710685307 657835477 429092775 890103386 998548530 892055424 990768003 206900476 475310063 434277794 148718447 642105770 183327452 823728417 694856537 632332828 492542772 649051416 577459977 550587448 446321139 995238161 711355659 431379940 248862171 405356053 872586131 133654834 303451901 118857899 101925207 380075248 384964022 549715804 828912953 772151024 675939117 370793850 722644284 324101349 175560955 934913744 856292850 743860244 431686034 462258238 336936631 924566340 669145595 305845724 383365481 937232413 904971039 995967504 221844031 526756568 200001266 995998053 953934577 657352797 106086239 208784790 833946176 303101681 775036828 770609315 736034843 761071777 235007064 891308837 928942607 144049740 723491638 436873315 756272680 468621956 327635704 817048146 268045453 313407666 142355495 988686840 761453245 971017692 125539422 511086310 204249832 812275307 615312591 855300737 502800748 917085034 841972737 379143291 471160970 840110837 662967959 577409217 748193229 629596235 211918264 480640578 491683232 650812675 127723016 413462937 463129736 671730738 145764403 296689492 299557615 291330937 473145760 208603637 200686114 599519585 392396014 946551471 488719859 587088657 403956710 721694997 628778838 709627887 152505541 501002181 938852927 863682024 721677698 474945086 409856977 105411837 238838920 838138600 136734470 934160817 316682491 532863058 956935792 933843586 587718441 523011678 107305185 254654537 134526833 123992133 942930682 851596332 901967988 393277712 868998488 750004702 617379177 849569187 790469585 121730144 452889664 345646805 761383346 170427237 250587615 640324539 339911012 661287397 438338315 704817783 112365470 692787578 328822515 612982663 627185512 757915827 496980623 538611322 479380447 649267262 586911271 805053711 820816892 268362863 638155140 573271608 710213297 936916909 497029396 831689362 231655624 775604729 321867787 850739051 579910236 286191043 269299797 448352521 552224400 348842532 892232043 106401183 218826852 309108391 545630890 834679988 132695618 621389682 722548477 383189871 255649655 683278767 482624785 912757638 385003021 303295955 610811744 434388324 211868096 883676782 379914486 530357429 244039952 801459804 606947502 205602598 325691284 806282405 422596944 326518132 377097049 389497920 781728045 291654084 388106053 580021053 795744900 844289101 480728819 665864522 550811353 594049206 313960735 930106369 620314645 124120690 849346190 586958040 457472951 548793565 822562626 797649561 877240628 587388279 979360797 148487733 190067639 154235875 233119288 329668269 924897574 862938097 491920652 786911338 762926571 666187122 279005234 722726965 477169953 432337882 133013072 309373172 351376000 642893816 100694690 330234353 603816940 920032525 849942979 426276640 760081804 215507543 894122721 341166602 347869310 112628579 834261763 764707094 554143230 125542287 953735697 718609996 176147264 792365569 306193864 383003724 108822949 249718613 613082150 986086880 940437151 147342588 719368254 625537855 545375199 360386884 721656608 963755126 129039422 713666658 708950877 265814857 594487184 871587371 588909613 715801519 942079123 633092518 113559521 762684676 993998784 609600238 680534008 985184872 230234848 767702087 867745929 902215492 726693234 307976326 720504032 230452876 291794170 150088518 903813143 272147174 373801847 322553315 628058914 379193419 873473918 270126104 293978301 525455745 576962811 308289255 807584008 366402285 479605820 225671900 986020772 903207661 783738971 322772920 626295462 490081154 681889953 487470604 167533301 956756610 234599698 678937825 313218267 227057327 175636594 256517761 367923780 323815128 264615034 326111795 394592458 810615589 989314435 657640217 273420018 880977910 443928882 518305577 186377390 875083397 565962371 415495917 892996357 713333554 327594171 841338977 451345759 118605272 447819639 819655379 199743165 260217773 417558256 748546721 996680392 416511478 143196066 769878180 297520186 779978365 411965276 260129100 708541112 673979377 303384392 328151214 751786686 906423190 843837501 486314648 978359166 683809422 451074430 389613476 939077797 679778376 115646348 603832114 138060597 286133593 378841549 964852860 920846784 125509586 991600859 731209752 759325452 870964605 876435848 397245058 833827612 688692331 211103478 591068172 245098332 734542864 744380624 377373880 535078257 293077190 864189549 295130394 358395705 984557004 216884029 900834566 150753714 387070001 990598451 505889985 939955783 147824063 465834685 661083810 993779168 217156001 559970337 211763964 996262775 491761199 451678835 737955096 715595107 949945224 589934116 667016354 863892161 811378291 257549329 786600319 302644535 569705284 499736473 927143261 828854790 844176611 484455404 245734736 336798054 607483033 376335889 131310155 597978967 548958082 558806621 367523918 111037232 836889904 178330503 450034276 408086511 605349186 855017090 914400455 644628673 980541537 887738673 223213715 823460386 278530068 427246774 370039212 201552274 561068579 174913339 841376705 125013554 498861012 314398620 146364776 792669781 184558577 572237166 246450099 870671481 582423703 855844803 634014900 258164574 315481982 849321300 377855678 738942300 450799629 835048709 560435322 827084104 749989941 934777714 188658964 436965487 330369999 692440965 112314104 462260210 738428224 689908930 982239002 633483372 718542458 868608962 750010048 496578952 698978640 163882710 456895598 211301460 130095154 131046617 833642298 114717941 315335797 991698538 742367935 502402716 802879348 958621090 387149012 754923981 764315112 381790307 729998080 786043059 357142853 775408121 653786130 689532840 470650996 163579038 387701207 731743686 599781774 224209295 243850932 468143147 499757963 649939444 299582542 362347839 770715181 651011914 271028355 184523903 606869129 754194161 804562324 635834617 278598389 879868480 378960261 812707800 638099789 336579909 227906546 388860363 940966732 244529581 998205452 618349699 305735577 495539909 828594619 650758217 474733682 329530513 949240563 118710265 120517571 782339635 306776233 663278613 476284969 323729643 388122255 476065590 854808359 882000962 100428971 953438984 166041581 708675686 257810935 693551686 685607501 641562683 180644251 636373781 372466035 403929167 414334672 665760021 451011325 445036719 786143592 640121226 503309658 335906542 874770208 457310186 823873375 255181982 265619251 715941642 459526547 202250438 616307468 516017220 220935917 979856863 740706150 276557790 940632034 793333853 455299342 668311874 710200946 646031233 544759870 699645457 900651728 903465824 306370454 585966291 230604078 348468884 862269303 941842202 102623493 982648478 333432357 601818966 836261154 619674872 189897980 253184321 917146478 909889610 207804431 642495402 934460818 484288568 295234937 512703118 262563871 131266690 544676838 768970495 216520764 441063574 707346444 258690359 411947661 476419875 978758591 260162391 486214649 887843717 765608600 247804396 517121957 146315404 571625629 519413224 883462307 321884648 728437662 706622060 741243577 331179287 135826793 698390766 713417039 132554292 217899484 381557546 550803217 513658147 373822534 860573565 438963034 314311053 361525834 275290202 951354481 133284477 748456678 796606747 532206947 443880090 263281986 314636901 623593044 539683593 610378326 586581526 979308734 626264386 911256486 949645517 509490997 667716554 831366194 349433410 788115662 375974799 284484745 919615700 206510194 386200951 441054381 719933467 587983940 181077168 408972609 853239308 665520761 568429897 856667582 596776834 580823784 437020369 104519119 551342009 618672958 183803178 848364082 517135670 277409773 426991432 285501874 444232522 534904263 894890209 881070326 322137301 419788735 320958066 750567510 825589244 547504475 965806227 312180026 638965753 489845237 806154725 464868522 294857850 467621896 960407570 712124094 863229550 194243137 736719588 142579943 320648550 571625917 291142993 687578398 906397709 805699847 631960748 442199966 186332997 704493707 575942701 227973025 903214787 981501550 293483144 934740566 459566833 792528678 593242839 692854578 140621433 849541581 234078923 724371706 345413358 513382004 586823062 388827334 949078206 775945400 321008826 468096203 369278608 105615861 703144523 885300961 841735433 338268803 909423464 779733133 240237771 398764186 573751910 428661771 920537185 799582367 727420048 771022142 505141248 537178140 845163700 904167243 258163304 182059960 182347658 508658548 144152350 750128457 756415777 621282511 786011162 177125868 480025449 326686100 117656049 913633289 839617679 417279344 740890948 696914162 738231161 171676854 511881562 960635843 244313363 276893125 467784893 491895338 655002880 886321122 433268321 675017303 452242391 859206062 594912713 752798505 461958591 497266998 544284539 310190106 589429188 815434092 427156720 876794018 518592666 774804328 404921962 685133395 101792019 565746006 850172556 419562769 787048371 902736009 335162901 392812127 579543987 459180845 242768632 411271082 677673916 246234384 845366308 144416289 114330817 804994985 619826571 341023030 541536258 714472159 948190100 707247042 334941818 899333422 181337026 719207959 417110414 656646166 967752048 246023385 931051716 479946963 253313313 904462396 818853574 375363518 599503842 636039741 672846262 484646589 536778531 653511294 993786542 574729919 842279582 180689270 190677763 329227428 143068483 354673403 469071705 103093829 919993480 842548748 949712947 921630787 131495655 941645787 744549743 813500578 207880573 861616976 569347414 404769865 999132927 281635250 715518143 791816741 600492032 854831859 573179956 496793546 118648637 450420179 528738773 911256760 907290274 147007193 452693201 504957859 103521188 936082608 924781618 669784700 861481237 282236094 780634027 816238098 116623573 319150933 778732623 492429947 698458995 506890009 302384178 105694300 412674508 407091888 850110238 121617521 994981646 940919038 229669713 970029547 386122531 839071913 592146212 633083132 777360157 794323372 261723741 739974713 904023961 912837799 176973850 529367877 390549949 886866309 516410003 170175808 966487405 471446444 505331265 454420617 268579390 347303281 328995716 671807441 433757611 719214033 367282439 232832591 607544148 539306177 296452773 464456871 361185807 789721641 640172670 442253238 445170055 460887400 539292749 122218208 873272617 870925432 191468915 657912303 841561363 657291527 287486536 926219070 223412804 373554444 923776050 450211357 302699016 446664790 273310335 127934411 382371714 531765928 849816699 888626813 634416413 960586285 526133740 578580886 218923172 346356583 876794947 818193708 276105002 799973648 594099817 556809655 734429146 430029624 134007067 208353925 392637490 936265703 611496051 498838180 918199606 638649930 838943936 743093124 389485893 875116962 503726022 351648988 354589903 447637805 814836331 164171686 414650470 378380567 411063823 925854706 818528780 472881136 265456964 377129167 761446460 178668933 754277406 710266710 630168734 990311185 801003192 826762771 845059201 136570009 583146978 855089883 660084925 362806133 164311872 637065474 974746418 687905716 703989009 340037542 340667130 469709875 307515358 256018525 174395349 342378443 224090843 371840808 631337602 256814997 894656691 677393455 711296997 414840713 936231377 385139332 910317168 878612792 939707040 787745542 983512087 658820945 204921078 629831579 572646550 250110835 819503650 212079423 566456472 592657124 621262036 980589627 751599037 803327823 918623901 683083117 627516844 806422771 128816483 565012426 366076820 607429376 798463135 798249790 529527363 106193073 233504608 475493015 824323921 771653865 672445500 701750343 887682153 963410210 557558083 308513990 614887513 330247334 399694240 314587218 935361102 172337793 598044313 563705189 593028899 666817400 570450291 210013952 802403552 610527880 657952946 665052303 841088512 247378848 129513665 750584102 974880901 998633718 234841558 458544222 486391033 175885315 871416410 360606756 676577835 487963408 305616902 558696054 871396205 106119278 971954096 870653507 658787391 266526581 581458013 426420772 282844102 673003358 573505066 439214538 201499237 855461746 497590937 800342157 803722608 700045914 899312435 161583631 356877174 459521278 154516100 869548223 885422019 861575567 275520426 709529545 148043752 224662040 371790419 481815605 317522771 240032821 826900339 180434749 373948913 195478044 878851881 383944487 410810687 920319438 251601688 658272103 714213308 778251403 980305045 195912034 326620051 713369957 976363814 114900276 455452154 336316284 518997278 390779505 992790091 863621853 753986352 355052081 161864489 336975970 799827348 870693543 358862742 942785686 938188080 210333834 296146169 686760592 641475284 925710155 353415305 565087611 334615224 664553847 885316036 461168363 307826661 575497917 274777824 199797079 131154121 369355597 724549582 567811955 523266413 272440223 162947883 519843229 317344578 947921199 676900671 738088482 543218916 528730579 196782825 220690712 397860920 656834345 472519930 107107163 347623056 225955720 176515949 590496388 267639213 213361881 677449887 721982750 371967934 616179147 883979461 244284711 557968704 455012345 696313628 360260973 781805004 207368205 432332826 802437019 322139799 211510853 743155092 249891266 173863993 314591465 927570805 704998658 690214170 822830812 502906704 765369732 760320278 158006869 237463469 233136785 847558823 235218574 346558301 267561487 945197074 600136380 830991416 270240699 642659525 700742322 431975485 569136258 427174352 730988843 128839716 400463127 306341772 225919527 581924978 985339123 674962760 534336844 505306311 731872509 504636825 315489383 122685259 907561635 866275799 358358507 154702043 610516403 548508403 789780435 705500089 917450045 678300119 854917118 563944696 546325366 274047423 477969973 905089465 632995225 540046904 430525829 296338532 580770515 689374719 873859712 565048184 690345969 267157644 478697081 561867792 560542301 233158430 303649802 748069405 249658926 136321548 135099936 673514038 662344125 352586211 706807105 998751979 141923595 360687934 889646639 698421000 168691285 479914070 417825431 916364905 107945322 147436477 260500064 635545819 662317447 129659770 535546953 710602470 573811604 115422051 948953173 742361544 187782169 353399587 386216059 261232705 341620731 956955661 226614231 287194748 263672296 797443650 463337422 471405121 823973706 148703120 758977181 414184774 933282608 189933858 883504968 600164453 353459400 331773041 282862878 922684064 118939032 171518141 771819148 338468058 247938326 156681198 998417573 333991537 102119845 279621866 420465181 247913526 706049031 539252134 265435272 723654330 300307321 354672049 498669150 836933572 338446890 679806910 741938224 301291674 782396988 230578472 925030683 559538868 682765098 802766839 594938038 443840476 178526241 544976093 860112990 996672053 194788706 951690448 827769440 665810605 250264815 674771509 729973320 675506193 524618043 563600731 304750011 706604302 132727825 863396851 691884438 729890106 483386150 439246383 135732516 453267809 119247428 710557298 937338553 913336370 998637899 792964437 990511533 391871508 675394296 709159927 818670652 966175017 435595903 838645415 515644321 396979188 960672675 739512819 263192853 886097885 164390402 285862119 467883617 585497626 227680763 917626741 533114561 143029560 166579924 745946474 854312941 267098095 473928808 400174966 724654648 689828079 972030545 455125792 561784310 399559079 232362712 847472503 401052009 461226121 460889915 740070691 912766847 343958264 946027970 528102009 169181373 795516358 521607183 219714412 155496632 407606360 950815942 247519893 786693492 267661038 741110614 864920458 425309881 357362064 480749913 962138210 510911121 346697603 250424356 435371266 229816916 192423272 246119087 589654841 674974886 678341038 806796828 591238981 199006002 427680700 472551825 973098450 208883556 805771444 558795732 963388041 669834515 920797340 779254355 612492046 465077662 939634112 607450547 539658891 318078107 982211488 224418534 437148668 999538602 379692542 503086422 181350354 642275250 232670215 804555536 452705908 449401211 707548230 263454840 169945174 149490272 586471775 434566722 367588945 176226585 541233086 296331242 956399859 692077939 958052930 145375524 369762304 584311808 592510958 120294153 611573661 228979336 557855578 254980142 873507186 391946754 586528040 991060604 516214419 324355438 716196086 156208622 792414240 842109288 154202449 452139240 479182211 292488638 208050352 655202938 875427599 247008668 753761941 278538283 260544739 927548903 802640064 949834725 623646732 282140032 702350004 316266363 298407533 150893345 827554809 478571126 643728596 597715822 917701323 753512118 629309608 781212899 432458840 634629362 656244506 421151848 252132386 753360371 639308509 608476493 231181419 483471845 974024140 581343527 909663395 627645731 955411459 786092887 260187898 497939926 706447770 546307262 915365123 676186636 786236470 808899679 180035753 373183195 130331541 239181613 138493893 823838653 605958277 683013108 683891254 795249211 898115641 206931043 554908514 504568331 106778518 155065864 856443369 513523790 989397938 782686389 267276935 665796475 963942431 602570302 319649864 985127798 413475425 504752253 394987463 434503261 959830279 451122149 827347759 523131609 497508280 560801322 628633256 786544928 125939136 287464066 114850155 919547176 149838854 814005902 736547640 235661337 523293962 932322276 331158387 779820036 295850647 871562122 683334773 806509501 321960322 804795559 221074844 720997042 446706877 269832891 122360257 333492815 201167543 776623328 159709315 729060634 301728644 610853160 736884715 635993156 196721989 295075084 110449747 784112912 856852326 698910595 946726059 600716828 715883451 548028694 129137760 222133912 432091946 925186627 474627356 107711576 732820978 888662071 414291035 790723918 302135602 382775934 508620581 746590033 202419953 358446141 630775116 792012624 225803205 925666068 773025367 245720717 848494557 858492473 216171654 253645339 176025311 771793065 622752085 596500338 405065822 108991653 840717030 597722244 525349496 318720529 441460972 782227106 992748719 862819138 547534195 256210223 488993672 407126329 925141520 853920658 454374379 211420633 384564363 193963461 858465259 526390044 578260264 749599642 553025330 402080482 405775750 599517112 928015494 503046412 933511229 363174624 537404204 459140822 649325323 611124967 607844070 387676431 723841666 121339788 785024707 690147386 223476478 543488088 948499691 940623018 148387862 381555163 217531522 978774046 834869401 110984827 264111833 812941867 318398960 888745253 282635704 955694302 335313455 492046997 494723686 440429120 212395284 386507858 757614664 118130345 356821530 887177960 488571584 329637163 324583432 583150796 689021559 158325421 720428618 286507311 483595399 737741441 918497796 572358297 619867168 444128888 210413494 651517114 305401871 129753451 183364857 185265264 823303891 231244808 709935490 259774899 630940621 903729670 278738992 549835056 512126576 680279810 369402816 522468020 972532738 147734761 930235746 715414196 385282853 470152461 574258539 766868091 803583390 192476160 220946940 988012987 508526239 582435166 537812269 518378888 961844422 138761010 420605996 331807773 720018825 822722508 272407896 762329652 985862136 765732584 496738393 419067802 717638465 565241859 246901783 163405829 152995283 911281328 819021569 514425101 907573927 482017376 576807679 348646007 472891480 296561215 257096825 379143652 206496652 391373053 299075102 724908118 219822881 842990376 287785490 195578668 973206561 205270803 400465453 964075925 240248896 831058680 737598058 976525693 619356562 121903804 577903335 775156752 428445474 537131990 996136772 921865839 171545537 467755727 837229883 298819649 156536153 755203509 416619239 546252721 177123300 824432478 966096210 459349317 143887963 711397783 886918555 202408024 653538523 284057122 246203160 203052372 922559484 761699266 850793042 803667868 802566834 476023382 878642691 318134399 427424265 224049151 136989162 686825441 987725552 213403822 353243315 311204449 383536166 250685277 815847588 127597085 948584816 534758895 950091465 278109421 562574955 410996079 572494796 145073985 796357054 290968500 747702058 255002024 653520505 301222823 199151217 777595156 992337766 116654554 591706399 541745573 659128338 170120137 615464345 357962504 399422296 925623895 667508715 594306375 627677006 552338538 446140778 319136716 945079944 809335938 240296471 916641872 768690378 253073524 490298547 529762511 786636815 146302642 419196692 109998157 417592037 114581608 110333796 722859117 423251329 594936083 142767330 329861858 208077476 608224514 384017729 961448538 411640095 982965651 715197664 501491034 598465728 532852321 320820090 543383355 864385910 223722333 911140867 933101635 919501138 431832614 302530641 741751909 967782224 895797240 250357322 644261919 488986308 408111352 790162804 492040333 582121956 232649008 348148543 337203911 560278283 358752753 735267994 179135758 776654687 170757043 883025860 827700224 604796439 398727360 499849420 954977232 909870524 531666411 940089320 758387888 261081664 776467307 416213930 347681270 300976418 121921880 428555000 585520221 647324443 688742460 762556288 241994765 631984232 400425503 491339713 861977452 473454247 794543567 439072905 230430081 834895539 335020842 108871988 903665838 751386732 146218249 954247959 532044277 367224813 990749832 617094029 224252024 312579207 370020419 364123748 199218479 174804424 573120141 440898289 995714504 402452586 928091535 200608944 572967817 523413058 250366827 995681441 351612407 502860057 954443976 876581555 326398439 564942897 496032014 548498728 608827611 788071275 517301076 314731418 309690898 371776156 263646899 336823284 430439312 335129128 316586410 245160205 672181624 669984227 592577308 819383700 104161529 920612965 364034585 977795301 906320589 441773532 483361031 858619159 243201801 458691737 387290076 671928071 827581298 420480466 306540770 734837890 141109719 765904520 423041644 813715692 156612467 621652431 143364033 627141733 289097590 563038581 140010502 685175247 971310077 517038825 188549865 497887937 260792126 779483686 192240288 949072653 591169495 345705505 299176732 935655414 611126582 874540310 348090795 929737172 293892985 439205061 626548176 568018235 288850618 697345436 655848118 778149383 438058118 221034664 962663136 937131961 634081946 904100622 504173081 527744094 467107712 266508917 740624698 277199264 780203127 814453211 532065342 958646608 663883046 443367156 786666164 373024383 423795199 822162582 471002352 728412941 634646990 898807049 130376385 132388098 703611498 592578781 758106195 990822579 869930711 321660714 177038533 221660781 362708392 566094582 821027993 620882084 639395752 350831933 707278386 809451485 251081628 772557083 670891992 369921202 826381946 220127894 419125895 129627637 455213746 207476032 363233819 636410476 181341637 185546282 357006939 629559389 549220773 437552476 958869056 391784900 799227441 524569056 850878177 228297758 558255314 754821981 880924928 997024457 750111188 445691857 659677640 835237242 665508211 207178126 456711453 742242474 537832975 650866623 184134813 530665215 432763179 141515123 733830271 721349027 798526783 318833727 726867019 470992901 763790890 632953905 135181638 367949166 890713743 873553568 968735467 581155257 566918668 174994468 362227116 488836378 449729299 315597578 781828201 205748143 262883920 911824912 387406412 778701219 263479069 950073671 304427786 550035945 851147154 723229418 668173744 482207497 228671430 147725452 779347808 621556627 494767753 171144222 392485574 635104839 747974966 904202553 755239512 530477661 701008325 295695799 124027058 592093754 612078598 868199158 528812591 709274255 776709298 334613385 732050808 448619832 967535761 851674609 188690200 258110092 682562593 310090486 749455488 718902141 794167568 156099660 730678145 194766095 717931345 932872133 493845850 384505507 647861833 975336996 597158612 876914649 282531038 379986127 782813459 656679111 846522291 775151524 369201524 855837077 350970139 971334777 567864388 242665969 641064698 248241034 685005563 911916907 456521627 436944719 354033992 119492462 863054854 459976402 423509150 482447113 802292006 673071054 131016563 879631057 965372265 205606487 516114777 125694223 999889849 191451374 614902970 178932426 220806448 267894964 538608355 262224802 377954167 950090374 679380809 703126613 870809611 947929048 845545611 423873825 404524897 140023798 780317627 981710021 163467545 683978251 669240858 847221586 677938243 298644626 429607107 688403253 742599567 896862916 911127445 388010642 239023952 288506509 445450731 200434234 362350324 812299235 947275794 208285779 988370187 239108156 933430298 287984083 497714971 907132792 244816376 265492754 191834591 823945899 494898650 925776760 606719846 548557170 478579081 691705697 261774406 293422473 697362060 320658485 151220903 376892162 107267519 216269165 129693290 385999935 757915683 802257816 497816664 461904180 680449259 262297502 280202403 617005678 106979475 840249212 490068434 297460918 954386290 684158174 919885232 834950182 202523246 995354090 914572758 141449913 986108885 985919919 573040556 808289322 730430441 888281404 856762170 152257814 984305530 273276884 835154188 582467535 521054575 745216534 632647179 295334035 300204648 111647626 288249847 919765303 409409247 458272629 411259195 314429139 484017592 277839721 684422814 664651482 286367099 416481318 556214996 585877118 374993023 228278503 329203293 927228161 109317665 609726892 602043027 558066419 970732096 674044704 411541214 508917128 482840263 294384334 644889578 459822032 265226294 578963275 783610175 626920941 222321406 185657658 149904241 442059010 948984041 753656486 264341992 404723359 576525526 804006333 808103786 938409439 839152058 648661674 164983803 644728915 757105898 742612480 687742463 763416475 570405240 963519063 961587633 748771617 440893367 430626726 774870520 997034754 689895893 173272290 578797446 199194098 819538331 377265127 587634140 953783259 591897223 207272912 814704778 796772885 480151577 639452313 999908122 920690494 254082889 396470020 906915298 152688676 145122029 674721583 648056598 258869825 788767962 265417477 995908621 862969793 965870584 712351095 130567965 405148183 908361256 679444466 528428484 394150631 646445017 731765619 297820480 936810329 439133112 528758318 169949619 460280762 779416192 507295258 162283294 492865683 897574660 844899250 647802912 551946264 146474721 886764733 511859646 380828923 316856189 695538619 736699403 486270472 323049155 536261706 357602184 473634412 929318771 337969661 378531971 289464909 303934101 478600842 865689603 574800231 981947819 967987736 451980796 210655841 798122441 379864262 722038176 285754037 663543465 839459142 154608748 631871565 684738568 465891332 436198689 824997494 395499831 608696504 717800242 572511567 887551127 446782079 927509127 503452003 454715714 253426804 637764781 804058161 394797119 194612029 985049189 366747489 170510794 333190530 786574258 704651053 591080162 434591275 778249266 235872091 633524233 882045411 721578385 997724449 719688242 329768613 806513752 608364446 707916249 855845048 707422340 231624780 269059166 290574722 288326836 388751091 344670185 877016522 897627896 971340329 687466630 315061785 242446791 207378800 343867771 531537103 261866174 593718939 513474722 202856688 977225077 727643717 259106634 588044175 878951632 914189421 156824058 230654711 655860177 601592811 681795296 324776982 704660024 368282579 579368754 698898605 561831167 181631890 452374613 834335247 996371835 957217068 604769494 624650052 184426410 979669873 153443980 178855989 392430833 780972903 902077596 633359202 324674874 296326390 161721845 633174007 948744080 797156177 680778182 881855309 457718303 744983042 601297390 507341271 338954456 335590409 255901448 237822419 547203800 341275864 373191333 956755045 926769469 237638069 726728104 105765762 119440175 763161153 596837244 398057531 813823872 676543597 865948518 468502634 761121951 451193254 344171648 656333674 974037577 684319162 520272036 137835724 597920614 762211014 905729858 685508458 717481297 601274894 115738340 642909990 972147865 149480209 872145701 690269441 460486015 669308838 731641602 455492082 980897935 508998852 252589173 890867500 147009582 795627560 916870082 428345517 841398937 762158699 100453180 407170424 406160584 646739556 438084878 453152002 851260224 783602228 893336329 987320104 633055811 316446736 859351885 413624844 778703301 382297538 775284185 105916679 988425787 749386364 798160879 438065042 361652872 793617109 557792732 570654006 833991534 709537133 650333877 251210566 133045918 862480190 740484800 815278156 352530101 303259310 796083261 598240849 907575263 230499285 285470346 892735576 591362262 974854862 499026918 901097228 863947670 684482979 936326088 331034591 678052957 314108967 917653438 915873839 684362001 415112408 508737547 776523134 981382809 751159491 862456354 530061698 831384112 349656254 429024021 536186309 836390286 517691243 266423505 952476624 696505751 649704571 774199243 473657631 923165497 454108085 653729629 627387447 768466539 539133001 867557077 822553524 575754830 655475784 169912288 644558822 908530045 214351812 894702991 507248913 390555027 750459538 628210442 196129688 581974458 325358113 984404110 476743559 832964942 306299009 924122398 476146795 546850718 409913997 399674523 180474093 284752778 945459235 284462646 454601947 450426523 730964031 266945465 870333148 950167549 457860078 463062041 661749277 817071122 915161857 620735170 334166402 203109942 758966708 980357937 962223262 508511229 318836193 499976210 365544020 597043663 133784636 765293217 532602109 499358303 385760543 162856168 382809671 991523390 484988838 603882737 343692089 310854021 768656049 346658060 924712124 612015169 253847344 461972573 157347268 195057733 333370509 925516170 177840499 212100186 846119255 662545007 430415222 473962905 389245110 853737086 348840918 382511669 656446346 706229038 465614168 743574354 919745271 702434136 747105288 992019736 294602354 373672411 275521334 126620858 146928649 634286666 356030422 786528558 762749973 870427640 698696934 452813458 392658251 856845806 835231429 869894219 987696370 729091653 293467858 258166120 613749160 755760510 385033265 910923856 357701526 113705030 811110773 994577844 564018338 501793716 326316571 148435345 344989502 866862394 850374585 737362719 783256530 177303457 255812892 717737452 561194074 309139397 718344150 948753764 649047565 674063339 735030161 874161474 690080529 550038317 164650756 114660068 722044408 954693658 443234569 967871934 450157162 276520536 952024982 339168652 286501335 211680307 165311760 374591287 617578053 317908002 357074261 513721175 711344356 833396341 264193971 881599910 247623419 769998951 529112968 667910554 740081614 850217305 229622368 780842074 654252305 313689855 773307773 231979766 246480699 935166188 286967849 544394084 353772159 495467637 183910355 313329214 439832690 949377546 618111420 149771778 860881062 213727968 844948416 583043894 329432202 559099963 805127654 534108857 501241454 259964985 547498507 732806203 834549332 312470701 475936789 405956340 234178606 595984298 912150661 600206474 818178816 141385607 235127704 892631539 878900003 656497247 509325447 441101405 440325601 545809386 488587359 174974691 378816759 616616424 936384456 988287485 581426802 605890018 556074724 398809101 799596840 424768658 457213748 588912171 465740253 626894499 856502369 338601936 230277504 651768847 568880722 399802183 622634082 147005125 340193724 912981506 594834558 597380872 772427071 130976458 771039351 897423007 406991797 302948364 647897179 512642365 111994025 626537635 391588762 838284277 781311363 709521760 290345403 204769010 697702864 306660181 412568415 787620527 487837853 300922314 138090463 278786525 469175963 270061399 573325006 503156332 757778078 776802980 403890381 483154898 360765186 787330124 551398048 560586121 445420673 807262042 729608527 848933534 720789047 976513149 976308961 736970450 390348406 517964690 585573498 836903005 444742362 573036610 474712873 204389501 809311827 320770137 661528595 399989822 743990601 312694358 728158281 903633742 977543699 391914304 489368791 938002274 247563900 322636941 331022246 358901734 411441785 561189867 156577833 240988489 692134158 775446394 947396949 664479788 101885099 526062092 679680050 372656947 162522897 942064015 318440580 767742921 240379490 614184237 242140289 554314905 300460275 250939617 930503490 870910945 860554763 385664060 252131022 690805326 392413282 399927370 452314134 342304433 315886044 250595808 822821637 115719427 722239112 684992279 263769615 956348169 673511998 381121835 608022069 415218061 790009360 614428750 320348095 631788301 923322598 187046733 504554575 138284704 357802748 328563462 303605915 510533510 484189941 825959968 798798543 615513468 961418682 835762383 886551666 303714333 542415134 220997378 780426941 503316727 485384985 464179058 565384737 192271300 516440702 467057673 587305216 229336708 852411613 710371526 609354313 960839624 622327296 276948924 697016723 475028273 749621923 715846266 205139979 425751992 291836484 394202302 588042216 649631110 173635816 298399782 113572734 609838468 423099987 379182583 673991213 422554291 592498513 646585279 316765584 619363415 243857696 283742206 825005290 352488697 818074562 263310080 208441319 796358206 825934959 515312965 252655966 424207715 940403943 868193295 165813361 793248224 740181156 698148739 831225723 845000186 253417192 991463686 544251076 497621845 211818598 466362403 708586993 688478452 495344737 563312907 571158155 976394082 765451189 355982247 635321486 861344487 834663547 835369089 108090557 970166067 684103501 783906995 858737457 867238741 846472150 455482755 133882454 100276848 485335838 972865319 572721129 512277335 974469504 618361786 469158457 917491940 977310314 723633567 457835781 910156414 933932859 696480628 534258672 469474325 876475508 853582347 973035192 532909179 772957137 988494321 757624538 255140970 965291781 654180953 159017380 691605162 529553200 202823950 672192769 817637090 240543286 172535239 366591319 284536363 208369907 408217348 476833606 575553018 221141781 506218425 436179130 630939091 719752328 111536148 817479680 745041136 280994300 630965306 235468186 936980990 980885159 935660404 298309277 715282770 751679847 874327362 850912973 876151504 255760128 702052682 565187227 169388226 354614998 268754799 952222255 188810319 944186114 715964332 963285793 669043404 219608433 941616822 444559174 104077868 731227591 702962286 364447728 878740356 397522954 898388510 298342290 343832808 431528482 753072374 495029737 847069272 947782989 270311694 891310956 497107724 125213151 181161138 765547428 831433791 934335946 471812208 974398428 395798399 867637796 262928618 149438030 523147695 604093793 830649202 781748831 571392379 655489949 945617030 788445103 286816127 537426301 492209585 382436538 515046650 662408322 282149416 915135530 472538763 376497714 312774893 798420858 327277395 200754419 682088860 820130217 381034152 808153721 416163594 767143807 372003415 281819759 835443228 578287055 305497471 199041310 138936087 344388553 688488110 493548324 924892611 317835797 887829385 941483537 956894389 883211568 245321104 983628611 310704440 706236462 119427645 718261442 814510928 916496055 982396155 586039175 659622643 400407750 829139784 353266578 509629875 983413816 465493384 468987028 551795659 534247878 247059658 441571768 188225167 132081267 982844462 709372022 897394755 644398379 636932651 264521184 236239221 825123182 363443273 603968545 727632593 779255229 148378857 128055046 796643075 191697826 546685985 197266688 408788360 688447182 833849148 611640517 674304621 983619583 720432358 698458076 871634752 248854659 225714746 863170101 248696494 713680062 554317700 973843265 879637516 431522149 379424473 965857910 149619875 265634294 337243235 299866350 429703267 754923635 310947826 862218938 962839300 561630535 373470394 878501231 725767391 610804038 267244696 222479429 250007656 243232863 305481361 144208607 166470832 381744953 406450271 224051527 294988557 809974090 261047577 290255799 198208223 221452615 197844156 173357763 516863417 729747071 763674840 210866679 313855259 843282477 829138822 637618639 255450543 699806874 761127843 962511869 894577876 707125583 983107490 706521407 681313026 496697522 570591742 619140886 405775773 902300100 262545670 640214813 960520005 505243218 130851438 475397754 888178336 567548131 126367592 375875840 757759419 800496131 294349904 106326190 895157263 528959537 972438683 371280797 483506517 324210815 534679157 888847948 365843788 441912515 764348588 497306333 253199696 943554551 859482259 986065417 862784150 591962866 729760826 405365292 644291688 199398269 321141566 732722310 893290697 614360971 142093304 786862633 834030723 165824296 664777605 257975592 584453792 201445448 306708023 163619237 958373747 838210050 524495472 866957087 515558132 134762019 164833895 112652253 977253800 903145200 651361739 358320705 959882745 677828940 520110535 295935943 106295787 445425446 864445181 534256279 823659826 970604531 345312383 157766251 426336147 342824864 804351659 790701369 177232490 810103374 348329607 107048996 753571638 834535113 511830955 181917048 586245370 484151102 897803460 830590603 643243188 835484726 896613486 961808263 238733851 787669344 396632768 623179230 900307122 692663719 844245642 244546755 122210116 838081596 693057054 583522464 820432569 717683277 884617485 614873588 722307701 212718970 389515403 340496027 675210599 436918064 276508778 945110627 173642674 297652212 378522035 383251603 327828193 366118672 577922534 107416957 384430868 366046121 448381377 254488856 474674379 561102226 958255593 494782469 953021272 749350515 235179298 904267482 869805735 407049722 768417987 223946534 291382664 687072427 377967901 104929626 297470274 123853047 380437313 372039468 612053676 158355934 928622237 109914144 645310455 259701385 445987492 225893629 146674935 310406468 222554996 257803878 316002573 414028188 912909105 931554582 430159855 623817866 970784772 814380805 658248185 300735320 872056281 426437115 643803452 353499160 181345775 787457318 173748235 813672608 667624044 624136094 139696318 239639075 876016256 333891689 300534997 244502892 731745749 841370511 558548413 810782576 660331152 585224321 894889255 202155489 122689504 751442603 821948576 259661360 366835616 938585577 362839477 281997320 904026666 804366887 648072266 713626245 742964211 819397149 906541454 595995997 604675577 910915538 913526620 600204225 198497110 174494764 358666819 599506155 757326029 878417267 189511785 487088320 217826675 913961975 397585321 122698993 263910950 185453036 687108746 358900530 447956609 810346283 183950166 502809235 281434073 693710818 251284677 629118629 296560223 100690623 330776415 996325250 494008320 894280220 912193183 831798611 322824636 546325892 668999788 199870509 303705462 921196528 971864881 894693209 821613755 128476109 681447246 228202103 851537753 391342779 691849497 175505151 980113789 561587334 397807209 661883511 748943608 187784297 193232537 794541460 320091624 954537358 138324160 259821423 898424639 387540229 641521766 353150584 214446841 712428964 285509214 856733689 418907621 660428195 456498283 510943093 131942870 773767884 177881537 298431009 293791668 100451123 475103417 926193532 194169654 155724326 977158766 990356479 813052644 583565996 935928949 596701702 886180196 152157412 376401094 929796251 124476684 539515311 365011020 376993598 321952333 415681786 536780839 416931990 484135060 239348209 394786415 577963923 587467197 800663077 384649943 922836149 436020450 319362338 467893971 770638547 408720411 551770186 602752206 481063332 543941378 806839733 189355977 438663268 701538765 674836341 343843994 829210180 262168113 849478997 240339041 112965036 547763903 868000143 395410603 943512862 373164793 211563997 454005219 901526072 985841856 629620808 328103356 206949184 815233090 285600529 691145067 730429986 538104142 774219414 896818845 264883893 234980538 343347149 494869529 201466327 493469059 983255665 686379470 808518885 998586222 184632812 618460294 399329169 491864725 589140729 110326986 472438884 931578114 424996720 779443797 338892561 554437581 331694126 123289903 113757063 867636331 365462071 301037742 508062354 540473657 118241617 918628098 132230363 856909870 191093968 719925080 563835958 911682143 748515944 825472912 567505038 563362609 358574277 136674516 736144300 576748663 193527530 795972216 548110752 917604625 180086118 801336078 615857994 181715961 686857122 951735878 864240569 504026987 106955953 851141882 898109999 597465145 877303244 935202031 692393604 104104452 640726692 415870114 411573516 815621993 378827904 704750761 839556337 748540575 835574337 661538126 397581116 503490086 358147944 734777749 823885732 641062950 906421858 374087100 282399677 428653659 713812710 790531850 135033385 835181097 948527353 307926052 607794301 485577834 498760253 646716363 690724416 119005826 400674463 311566792 687910435 275460210 964907397 190931391 410742756 131150440 496701749 419162937 903826980 874039148 578357182 740733046 128245792 392138509 941805449 242117282 707684363 788035714 740762841 623441197 757758095 382547257 519670038 416020568 953410070 392274166 387796202 762220295 898248127 637185748 607794079 119233284 232369613 936911081 315906214 326482658 817712809 544229751 436690134 317924667 259438172 655078820 828840323 771200239 359834458 581903612 281439849 227137605 557751564 536114003 788297882 754860663 499209432 421388934 958512807 726070934 611914722 709768478 742157862 506486069 969134975 224874596 473845242 421831170 953528242 873101752 585125112 114252088 110163814 796743572 285871039 902445306 795352712 561062090 852689446 746291593 469171959 285789092 555788831 737808356 407996101 366387599 847100907 227164148 374685341 749314766 383438195 157345889 389813443 121756653 371163985 803039697 921773806 753217802 223200478 514584623 459814620 583790535 892326399 913140614 107650758 681735012 407866720 122044885 976220614 995659961 622393128 824629488 711052732 257039505 430919394 776418917 249944611 244015744 834947293 219116253 966153710 231322233 126493273 870158993 192224176 183209744 668801236 988044080 398996972 157836448 335490235 433455207 364046630 594155477 521905727 959962580 129105804 169557453 728834106 664520959 276165774 588678540 966143381 876980607 179342173 659670450 287563690 272507494 903666033 521646075 767375450 428336508 116178818 934578902 701178204 470262863 361117639 477633601 156793439 171951713 335535805 947586432 517438695 230786958 834708792 133532425 455718993 560812997 300799957 799724389 561523674 739770556 107449624 695244530 395874380 404655273 508221327 448972994 943116797 973716542 127724082 262905113 895281822 136440179 776733226 777395733 834277645 417801776 596710254 589928426 136364111 391415917 428382986 504829620 926104275 176616784 722245583 858541418 939057030 582381901 103715217 233054252 466343698 799574597 383789908 288530996 633497344 953852204 360863533 420771684 608666450 751871270 802871402 581488674 544669126 416638612 655828984 239947847 139884579 995651220 146480141 755861183 477425816 422096351 580564377 486782623 996900958 511057360 915775471 970606519 429019516 455665213 446626690 671438321 541670054 742553253 985877318 904686131 310743860 786385780 465181850 778732205 430295925 855053296 911356882 484755755 154967587 654688721 540340262 876018029 735684700 875631640 165718651 575258876 492851214 193717260 255200711 206482839 517237938 830160002 936056631 940284770 888308246 134705163 563075586 460761526 352336529 480491909 772743166 189815752 468236373 171899113 385029883 970100651 456628080 232330085 839270741 638808221 365280116 368138142 728738984 743920380 357313961 519521432 134464423 531589480 687328691 326179811 493766473 743376920 572393598 719646630 914610007 533648880 432497969 358138120 361942815 401331169 337420446 633535889 723215548 284070670 723134403 164449759 168392314 865354795 206117509 380347008 508933463 919871911 599245107 373816291 394528527 472877385 102561028 347925706 651704481 510259988 929677178 413975188 659637285 843691416 485029259 107445039 979750961 345955366 644786219 461715423 638417050 240006080 803055111 514790521 345807110 424437875 805058016 974941339 175946375 541238591 838801562 985532583 641705431 779725724 117909382 695013244 511668463 771435052 944522276 557213129 711697224 997617617 885079133 893695734 121469224 382972349 126560425 243540964 221439928 985387887 232503849 105824807 664103752 855012900 508882049 854985876 291831694 696253962 208187024 387621523 511776570 664719921 857718396 112576223 638047932 341650881 898455224 238309975 135107224 312867741 751843243 291838014 160566880 956985332 783088886 415251290 332800892 836187549 187692520 681983368 255881188 802795737 344242535 797250924 309960009 635255305 655481345 780043280 170297379 746887467 213288886 894530185 181406164 958549279 694653054 428736218 482595310 986816559 414138214 682904602 870675507 134254124 517697995 781058589 103548984 757931363 566964589 237298393 854968176 265878651 247529605 287900903 165237407 152651327 127091558 275609378 324059960 734584637 743659476 867560320 209171514 311639857 228549931 634505895 346195551 424376128 887871878 236930237 906740157 723863053 111489737 400081975 736690656 304882529 837391228 633767608 704323669 905386336 936440971 235686423 894066957 352728009 224328680 158566315 322692971 112274368 444967857 488288341 220780566 993272155 936688686 792180252 794234749 281307759 265859991 705502387 264274765 409033820 471321897 721376716 710006157 629544143 840277147 881698521 979216505 905922292 210272723 386002270 109260630 809246516 234291090 651591575 984332438 846857707 505926127 713413413 574807882 996669246 516448210 855072868 245747095 395034179 347889707 179421981 594291376 592029264 621179062 550890287 384100453 170394790 990448212 838422837 549797668 151637861 708574569 390673816 452972873 727445967 424273524 984606352 371189736 624659424 534465529 969317862 254571874 824008905 934895243 319031113 128974445 711875096 270329099 409436943 252298463 497843535 836997028 644015918 246242957 807594883 903149869 690801346 453989576 964135716 608769705 655573810 765050757 292649665 351504843 999890246 801017045 358293024 928727201 235843184 527902715 382567966 605347340 919486106 884002668 392272715 399060421 656195576 396612568 824436750 331507792 702703234 944301026 229636970 303123727 222400553 745696449 343419746 161934884 311085194 347452021 300630358 594226401 157446422 923720264 597176188 622741851 848919842 116248663 524878249 711971958 911566308 496453742 925312743 823126834 366927794 688089704 511416565 577972397 508110757 903511794 578323284 225389389 182088621 349859400 323433071 547477166 781687797 944857762 579023377 251533333 785413879 384413741 374453575 330438489 686799160 530606472 147253220 513651596 728667213 913303983 725246752 154390472 942023765 367961821 406907868 394345971 104158055 964667428 166664298 154279501 459637643 408212454 502382443 529642010 172831762 343650030 122755701 863569314 570666368 752479066 666554367 545421439 263412895 875854478 464989138 366622163 199610289 250781703 936145866 932351433 207074410 869957362 477598389 230449306 782870143 267408639 217474795 582093084 863706819 209247194 872198187 307498137 297878418 241817728 866040966 311177778 710118516 484577314 935303363 717308753 143560481 740238385 399455669 337651196 720306954 276429709 676824891 981930249 406933708 918143218 885029910 935671082 541305080 421047712 926047877 372530393 775020106 415867006 515992578 670333461 780569816 595642083 735976678 829690504 742427677 802314318 759594605 936820616 487460443 210189110 174050484 949753594 862186056 650850955 584934583 965479555 592723072 959376685 673311342 594280643 254414333 462769443 254388618 851649507 197967727 502257671 268946318 986965514 629889911 399637904 340836127 158383291 945250306 866460098 168995342 818409353 764984357 490177518 675520897 666472746 559150214 442512601 739211677 371852723 607643127 261809459 363027203 920128344 493833610 711775725 487486795 250309387 954804769 955527576 377693601 594773782 367300722 561892696 470122917 824103050 854748212 204937694 397958333 670606687 199160841 146679747 606012814 923020856 104055932 520068213 271293369 592875671 989465835 478262810 991163292 875684741 569374786 677194716 340286628 104293015 276700594 490051658 131198639 636854124 403158544 999751948 656178948 819121115 652750417 756888683 851528653 398172610 296870178 673040106 951225421 863610069 486462439 601569319 583789750 490354128 826832871 280875258 770098909 198721996 136098282 686514405 123445325 690516925 752929947 411197338 619738550 956897628 310636983 251666639 313815702 435328807 355466889 754895066 842544409 557281359 841341680 940630073 963767434 221673929 498358321 817210292 442419347 143349584 238674690 887492264 666021755 433532617 762920593 679232742 480635785 552225088 676470387 420243614 700005128 164574157 316694347 403988898 817093659 291198985 713152179 554436061 517600475 340518070 879529828 253818423 639936517 513311814 533589730 889602616 104352203 419105718 387968675 756890261 232725968 836270805 422585291 955946573 437502199 879901822 378934372 566190148 574147374 210351004 169509100 481802925 820511567 325304867 503336959 920691121 416315661 372246399 654231350 135516604 762963032 792443406 442832637 477596342 395367784 137060250 556510032 308964632 582377667 654321007 631248314 522566664 282026872 845951578 857057261 957074937 548459736 669330691 113057019 124920917 993428533 238825465 483488902 787966057 535090220 440669724 574540140 166520808 891592636 602657883 910789469 682005800 633810944 887469806 145663796 799971182 833998841 134872857 865988905 769714085 864317621 571797221 725116047 992333907 405934564 858367623 298545107 308824563 712174442 107620952 395753885 867168934 363508889 620371059 315918389 267976605 872030900 861178106 115004309 452009974 454042183 330725061 298015530 953744555 519917845 565980627 768657718 561708293 367206867 479595124 915978930 475101228 634867521 574013835 299152751 923926335 154258578 699261617 733841578 535336892 890779563 181009701 361068362 227946016 896829071 449201263 618728648 123488243 188954359 257869973 479144876 455445996 219426055 206719346 518444483 171392519 248131777 687008090 709742842 934078992 394016459 872055769 954733793 124161795 588008774 247552265 998914094 307482534 100991430 471605888 996238966 184954601 297184127 816989118 423522408 449158472 923328590 677141642 935536167 794937211 643957463 841566491 562899808 258621734 542412212 737493781 319290718 935300983 992546656 608542375 612379262 425412616 909894291 612285843 489697213 951763541 899119272 643228043 389598536 534807333 556523788 107589398 336144167 236037390 359164466 672442956 914226189 119671023 932752395 208572760 117968348 232651004 509550082 625988004 929569494 913582155 244754000 784674903 268208067 527960121 361142471 947091425 600129133 647611358 879463623 469588186 163158057 756084735 613382654 370791893 912572511 869988743 711510321 820352837 939240854 634373584 814630101 354509369 187670079 713566924 378848983 852786646 143144988 727543010 813155123 360578258 474213923 567860142 849202819 680482821 398656518 609609713 863694230 114175568 839397025 628183921 107414987 674990428 284664825 558818983 256957964 153072638 175841650 767507147 919193397 407926699 573044042 773006648 151377444 487483496 575587464 837622281 612714594 762267855 990046892 764468043 554975063 742092740 995235813 885103020 588282697 966633640 663530519 860598661 445707390 770827177 922847522 439153710 970410638 247222619 713991666 779195281 606460627 919153754 388166934 915311015 764127698 189518867 477897871 280422770 296120423 260745180 110047417 962155777 341248056 475011952 964030906 973774051 720950749 223362407 106449854 477718747 180465474 271000928 105761308 202608136 952496649 664112721 467823423 266829965 874099663 533917936 952842301 570122351 607443010 344942670 402617530 624209738 201066269 125277042 142623365 943016733 493779615 250671965 677766394 637481013 162872662 230298061 685165320 295548794 248300001 446215434 275715071 428605518 186994278 558961250 591365487 942912463 905284406 680429871 594281746 670185971 605602173 523694738 533674471 948771058 133083749 221111728 115707880 162884779 495767078 291358090 722680601 630886138 445736887 745404114 567161898 298866455 710067165 336242943 304635702 850576149 501246594 890197833 459889410 607973592 267102144 522399242 430446491 507623901 763001360 502609281 227141568 122335298 829960350 733477380 975349178 337823511 156925035 477843118 923869974 125150822 606141582 512887250 190204031 792379215 348037144 762827958 855614944 312358308 849409798 640207107 145031405 251778528 198198552 285292296 599270796 638789877 731803633 755867287 920336017 525910431 929030117 592681703 415307424 935160953 131454151 540681670 568025487 770443046 855653769 532988399 918660789 149043065 434706096 435896123 424623430 441107283 152151482 457865115 567038033 380566178 849721708 675392334 247297055 954316117 165821771 743163027 693262282 798152241 587047184 952247312 559983396 444212768 215660815 140017426 372699428 995409506 955795633 218684069 728083536 217151429 422648892 691954675 630414632 179871393 796533594 574653777 256940276 342804821 709314716 521150726 653656012 745846602 634815750 537106221 460719399 489537803 596763967 621925164 297468125 913756069 549900087 186975038 503988161 676336246 255141201 577842452 728774969 664506097 734722509 198000842 311735688 478832066 354838695 424203630 628932180 651701026 922857886 644822966 664555674 603444992 996885292 959158274 277257695 893711023 420994771 816916597 375506908 932833577 929340727 173590804 993223169 565617972 187870686 947827672 791638654 588674142 447831575 992219322 991591030 103757428 156531993 838987069 902800820 879104482 229018340 197640430 438793298 826723038 666255235 677463630 836126469 793329533 906774635 701740682 442129537 931671499 583418634 316145887 795300810 884880685 131625564 379745253 135841724 823629744 930410042 144383747 186295355 272708589 891107510 449831278 134003737 690467451 144931090 994218356 997321783 564638424 537931180 334533034 285412523 325205373 472051433 783587928 200895896 495668839 259463460 334682568 180514237 872068954 378055479 416080212 675236293 113983079 364458457 890928467 428353939 893473382 649321531 111400100 850549604 679081088 305006274 317377908 808260325 148998785 877619328 288500743 671558249 293698196 731706730 272688656 740997025 277683294 577744465 609251128 503964515 155862828 933141674 631579154 529458380 391514286 532486062 759266647 472698690 347355570 987246123 535523750 931870693 986372140 716005780 488048025 206087155 493224763 913457497 365398314 979117076 700537985 122122865 915378320 159570624 448899860 817188496 279487390 353503107 621161332 224645834 163675125 435271454 796753429 997029795 625547126 139056902 926536553 750002375 664711924 414101033 698293077 689948576 546319265 975275160 521567912 919476907 314356171 486814707 363199613 379268767 316660453 179141851 422075017 700497332 363263226 470536399 861333934 786829349 882413526 229823989 623008843 843784486 255311562 725445071 412096746 516557874 628759935 124863425 900073305 222920494 757605427 212689467 108707088 742317057 736545442 198538472 982875516 794514272 116205651 377766900 184287120 972913199 554290787 103427098 876863414 584074533 724009534 298054838 960929233 958452584 602915233 700800991 826762818 617947279 616135197 321979939 433345206 378522859 834704309 242108317 248140752 179318565 136468993 290331200 199125406 474306316 543014525 937696637 118505045 493558612 204150621 935282075 519791937 261394928 291120178 914914688 410906904 374089146 138348371 492473731 360341337 291704185 640394320 283454744 783810660 633833847 598171586 364984107 996376785 929218275 371841446 862446841 235809794 495523920 131973093 907386186 666615829 170678977 569207210 804121386 569276641 125754939 139385616 340657997 724418265 987927823 519976567 188709772 899343422 685911115 719210520 254369723 868408588 799097534 673491979 453406786 672826889 408042386 577210724 988591681 702895032 558881032 197000673 360243486 392461696 911928573 182151201 970500016 228273282 927357346 810659035 903999823 435492071 228399781 403096112 695890303 682924186 870417503 752485221 551531526 785194256 275038781 135189642 596782214 778723857 774531944 705718230 794667661 619012827 172973578 278427918 826080615 273163257 382083630 478034331 340472934 892463099 767885370 183151408 826420913 795459869 156918912 985980756 147873587 425729229 321531090 967109171 611454124 521054943 868042771 144924093 208174359 978452822 548872511 119071533 206873416 174604520 470211472 263661185 509665155 304670434 346209394 939010026 617143731 776382569 809737857 686485190 699391951 542749636 367124337 515603606 960552933 606024019 713926190 703332126 803069270 813199407 451457436 905506523 958228046 895771541 460709870 159909430 389122710 265740639 740756719 340128861 234151526 173794889 376316268 619731144 138010427 365933480 371472043 673311770 860301730 207486531 800116472 322503870 764129782 412348134 292966889 594168537 710454901 507879717 181394445 151530009 380729057 785367515 470538885 275690031 426980845 703107538 291950270 822796783 870776998 835008532 813589433 146299984 882775925 938496320 468074531 502336630 861144135 150636610 539155587 681225248 864742364 556677817 917238677 808619318 740118658 286211165 584533824 992003627 466394464 225728393 376816423 319226928 558771122 667735419 453973255 438158830 695421008 374156594 130244935 859028791 250232807 619318496 258301632 324893754 891993128 916239486 688942046 850126787 317971209 862341745 185022367 882314263 468230717 457129674 198891281 440268656 696050628 502149636 101937221 772459384 927486378 239578000 649798566 207352561 884844133 739336268 522216355 484870017 126465234 139536245 729675268 380383047 506971071 719544058 113390665 998271397 971081332 891323867 380996617 366259238 873829131 394523498 654172267 776888612 257926399 809156138 564337692 707108896 218718454 501912828 115729829 942261589 509934296 665038504 508665464 848641706 933790361 507293810 800784420 832649694 847254732 931987547 907171225 262554125 346615276 583453156 377295153 275588956 986021637 618755945 122374338 906391547 940806018 776973265 849716826 399166182 581736595 744635645 886546055 199732305 304108220 994487090 358101904 568414343 902065993 820196158 162287388 912764867 510949591 463027282 799658166 368231174 464101239 200062865 837288154 917129038 601403413 357501688 634163670 754337621 894791994 618704876 994095547 505884169 103692705 783995372 750628397 447702092 778794407 748803564 945641517 613125475 142885370 745580811 218942698 233006273 916766455 605559587 743930221 191730322 122442169 597898118 522309249 535430756 157050339 604113433 941798524 536972154 118890163 518997998 113524884 731375600 971645067 420478678 155906024 645183903 127857741 343204516 382545946 602496107 513697255 437872571 740292976 885581793 445613215 824200971 810179198 931085812 765818225 456562173 651181629 110396831 322664221 813671569 894705172 884115573 693624926 764856691 467092438 201151442 525610500 888360978 208269008 788167758 360254828 922953497 581282689 637590900 896090606 778224645 636727277 571345625 526766657 124262829 483804693 925422695 192561116 510789049 766520924 865379669 568242669 585901495 413615478 691772286 701570182 481977894 136352263 635247682 656339279 178768445 749708893 700165112 678928890 726781839 939001247 406500814 804928488 466368360 673608519 544242967 392416227 164781624 268772891 199542704 186838073 600358142 192994520 245226831 493048884 804638972 145476520 693813598 430399258 120594184 748165532 544641074 988829864 647363583 203295645 779075933 102185806 941459242 551096933 767233953 635009371 470192435 542553234 214564365 904955643 800164839 883702435 877330106 173064097 532691559 228092522 221708651 627248280 994496435 619963373 217644501 330948489 606797419 640818998 695891347 231441491 172932226 915199917 771125253 232946930 375960900 429270735 492131165 449061728 924661577 375474850 353128841 880883325 270364676 305314497 301086692 319830939 900525074 442294914 797702492 806091481 585898767 378284355 561353568 909793701 917119268 771995428 541025630 705100185 630657744 168329920 539243187 258149224 603903923 420813221 407393507 686388190 437959379 463643072 373401551 176343207 123666753 939094065 832272096 277183946 419916507 126607787 136656509 171275289 828872249 689624134 402537999 989647750 807218626 510732574 691296460 649926135 704696048 413857579 465387354 760442325 454968805 254827338 599884764 825962958 794599078 193381199 121506317 680871924 326805342 485118081 588869021 967120723 893224693 332289635 512444545 788734120 720952542 205424111 563044627 867486297 740545759 341937991 661731952 626100325 369036359 164582320 617300930 941175643 562841683 750469833 522740974 932634467 718128203 488608959 605081985 346390103 215765738 670782173 635196635 886131076 755668465 734576133 314995506 752964513 169745194 555793376 569980073 185395197 242267148 601519875 616803890 520983831 432410541 839319724 349755957 941025253 188825860 653157172 809778937 288410845 979595653 146680558 180223939 625029954 961951417 438748387 678845470 588749832 946510617 714181544 781004485 963069894 541340269 858673788 302287136 116624514 802237094 859100720 435412207 276861862 748028190 950069973 805072107 458964889 722439061 838977489 454883262 561262773 969318500 658698496 458055958 415683787 129757885 985876416 221202778 855954047 810418022 261723818 516194246 460022438 356298919 207596809 171253387 205150802 634449747 529060628 366452542 866642658 790710715 960582639 184100516 808550256 944887256 801431536 884603847 321367736 689256068 823911382 149829358 488541468 917967263 216565036 612866404 879287336 948255569 740156749 548005930 894589107 577386143 258320921 460747818 287828095 708107758 787605928 553006252 105069780 594399510 806937059 899639113 530336782 916390794 276890160 839353012 947922488 914969880 690053754 606928218 824308369 431517696 631082574 638583986 927932975 416208743 302239909 773192714 214758653 174014458 536730742 416906582 755924788 251197106 655447391 931794118 734025280 585792419 173557474 534302960 136055503 453707303 280922080 103853820 719173248 939408374 794219104 364532445 256314285 690903829 228498354 964806733 488789798 766745656 386768402 778204548 649033033 836549595 342595090 389602163 203439654 506326197 532675629 608281561 259151742 593427540 891330726 689061641 845215075 822053911 713480200 699957653 727507069 683702460 764462366 512991132 711613369 807680333 642704192 863146851 222177897 816251060 180655896 963003522 980078039 432592017 585983813 981079967 805553339 404517628 513035884 220063991 299277589 825357961 322842698 105785478 304759170 242521792 859726130 840759638 544108429 304471843 965168658 362333114 431544416 792893822 604706332 580610052 493671882 968973170 520765399 231797236 580581811 412471442 656492482 307382550 146925703 543410885 428562679 620800251 475546029 387830197 492158434 220942589 592730473 128039532 226260319 375848812 877873502 103204851 458305945 806072045 920840508 762761416 577294293 583972638 748623736 430649674 865164503 607720973 709288943 539448804 287354703 839688405 762754332 392436314 335665202 238448024 757018344 995829660 936185896 432518994 456558231 637765572 512774090 983786868 995305148 148223548 954881338 817758864 937045379 671071325 931719858 908825790 838233517 665566602 501889880 583107462 424733035 969364466 905867221 987923371 241876486 382400763 100996292 522287205 397730666 318053025 975465610 944502079 362187320 847729736 740790632 179287502 710163016 787293677 590577647 710399586 618533407 854112776 620089506 455124613 625276075 929785582 923437645 389208742 485504416 615404869 771253624 535332079 967291533 722034319 660266066 176280044 259308121 848083628 702372167 484893823 444043856 604538800 193347771 832315506 784255285 923091529 672505235 236116607 638086182 852113734 514330314 650075615 426789279 754901615 951524060 445723442 272001242 617833760 936285194 221121665 141741541 889651678 634394585 509756812 223793777 351166683 807604350 258515298 552072469 303324685 832028954 262174151 272820410 279148345 342297808 669854958 624817196 253368531 347332260 462922896 142661062 889249562 898965266 256020338 800341303 514127236 690389379 465178765 648730109 121516927 570292189 792075895 993081310 562649597 849860636 329972565 405019943 442962819 388977128 982282525 341410081 217373992 248641362 881020510 181995441 887448567 340657175 864264570 608446449 662927736 244192225 257568548 493616123 841901701 744748636 163298463 859874913 881824025 909382628 967582730 756235862 299440571 692190484 273250058 773775815 302878322 872959862 704344963 916007888 580549609 222341056 329017416 346559963 941538343 719554598 149177199 542599938 368247365 598645010 510352109 254869248 888391505 763136620 896233629 328863495 971255153 451226459 980930284 736533652 336967895 860359643 903676573 112391955 807704854 742993473 955994739 132970386 345839771 184643201 952952699 280466006 201162549 687929256 705769609 799830558 479960632 761179513 310690839 341647626 655661372 477651435 293107398 566362049 677973548 991976848 615172274 758094929 301780394 320576984 344228055 570075452 617352557 714742806 466724598 568078848 199158507 162549487 534709128 774568625 361758080 765905917 150225287 265510019 803027131 171977514 723191661 798775576 651778017 994233995 436913595 892367563 493203351 193120890 383384201 225915190 443394738 457086837 387516507 607384806 528980639 417300882 440641316 339378411 879786973 858858989 917306636 661648079 623774945 113421850 341344839 541485773 357934722 547626794 492591971 827032392 438596521 603291978 833490806 367008253 243671804 731056511 517631372 806982466 356706997 405997910 302812002 342367829 208443110 520300302 299173993 179769905 643736296 690978159 828344204 605165223 540109098 463440622 605929826 816599528 795431707 132884009 158550868 804737773 795672522 526057007 775622200 627028726 320706709 774466825 948374826 123376665 382118462 800202359 189951033 987115256 639043814 367496139 965697487 948544134 313217607 995964288 639250077 482753437 437397203 349853934 586518085 243263462 586464951 813466362 809089063 685630676 915449267 530909816 873582014 708912859 329860587 301391340 207417810 476688983 387896126 604064391 416539237 248636415 424344445 656642559 100058062 834174028 177254896 302756892 976033934 322804065 888300522 603645112 214305847 890087370 105924187 297967249 388617062 899296800 504950455 156328762 374287802 419220681 177775418 886359965 605339400 794632855 506870556 806076993 354354695 132390494 893461814 693887538 826442983 686024760 238641768 128491787 784431718 452999979 653568493 175399597 433724841 665047886 347311804 695696235 643785455 127812235 122030540 832797320 541337998 274650055 785202773 880898972 261956936 616613706 816961390 665829348 356377541 805619824 759950212 209258899 511414169 803111323 589806817 568651252 497037011 502074867 790739024 774403011 441219222 178453587 296165682 788279334 417697753 205070174 886317107 504859424 403744196 522044392 838220504 796664743 766848378 783914923 237456633 593612457 496334039 175851545 274564456 515626508 195376722 871621926 921491629 203624310 167750695 837560412 865168409 185582953 130140820 327146836 606641137 298574640 600282436 610461340 320908503 945659599 869242529 497968937 330261987 705204850 596762884 909453149 451897185 869793936 285193978 304423516 228403980 181609851 267747310 780434811 320757956 537981637 874647332 632955885 372304678 453241134 943274195 152071189 295014719 488465990 198793354 712788634 775301071 950030853 768582775 615887259 570465941 229909356 352616653 240286843 792423061 680688819 454489045 618797082 551040400 376347907 981356539 698393067 769157108 395856242 621954627 663251128 920007673 479096389 295880097 424535907 421311241 407566908 713507211 442169025 121789144 919518136 406663105 395052981 478508815 856933853 151380696 112704167 944397241 742441912 849651487 877387120 362727889 882541052 326579060 872815644 811134859 461943676 126820043 905098822 802261123 192150328 370913510 837804464 550304162 371325475 501006978 997384292 522621613 514784413 973331609 441109974 348569494 487806978 219415198 491815179 186152696 211968627 940259970 394750558 235622880 158280270 688958757 677332262 902883983 956358196 280961171 856668207 922197071 439643936 987338950 744789271 785073267 783221730 646065493 162592214 913030448 109958503 411163841 457670745 144437061 231881003 934681349 695393551 577725008 403636933 706268852 159155930 471835964 388802569 804857145 233000842 435649109 728214245 390137668 832877818 527665133 865464697 892328728 342611526 986529254 160538408 288318945 287274886 892976569 464292623 902172016 235104722 763085492 694575846 121381501 704845645 506606470 712471279 730622915 576383080 557657106 189127665 712451853 692886151 367804373 770109576 708050215 282846407 736159357 386492043 627107288 108984999 507450810 152409542 980808129 382499266 954609105 498794621 888836123 851536881 733404312 477518659 959707654 146863182 212516624 993863704 641926081 855231827 458868076 690510311 757993066 508146405 148620801 368886111 616305037 614022975 667366006 511324910 236048400 411731960 861780006 982824226 144395587 518825200 308425093 692972290 760118343 636765937 235663636 124616943 689657084 963424801 373114161 206151781 467608620 786758341 287009115 637369117 840662112 719693281 845947345 559153966 633430368 512825299 166710932 962732261 126074586 520713711 717802330 641881736 410449458 473485828 142578607 744332024 580138112 782560579 546268887 994889613 218501373 987783489 974269513 718767378 256105303 826271589 640146365 668927498 169726468 568547172 406633249 666319974 651818962 220614844 816721191 950641974 810023676 317896448 232684090 959272202 489820769 131826162 135231118 313939908 540837982 978218816 569338180 791250616 986296657 657605305 898440790 480156220 394423002 872774889 855068453 744698881 995059260 894038708 276333486 594723601 910592780 866388683 453225042 679259919 574539458 407554372 849879911 296928785 432994266 215912758 733321168 310624749 418898304 591200522 394762995 732993039 150039485 131353482 635410278 391943375 326045498 926023008 390820075 178691270 232267650 568077532 593362625 183279040 387534810 331516381 683826744 217773161 103774225 100454903 513903507 575557453 801849201 423446453 365746428 337861529 740420471 247327021 688900224 965283936 236225414 344988752 876386333 306247887 851477974 340752820 424186385 167337167 784274062 954357531 745665418 253655472 117750022 751526839 489430903 754524255 442797975 188194955 655097232 577935691 437287859 344171797 722462100 578909165 780423425 649347765 394577576 977127561 997586412 907905291 342853927 254260112 313382421 605949583 695834357 545313366 970976712 888323458 931923230 295160627 831323578 180204655 548853274 819177973 458424112 358801602 578036866 411989677 195269455 387558322 861724779 925903489 889251400 816442349 921913751 686230938 445315250 662853562 922132411 984673475 572570524 567228399 912941736 817429840 221535815 183914123 915169025 563803945 188061111 616187784 492820813 950434134 852794857 361151712 599039164 634651484 888449700 288446937 766821206 706012251 164495851 353283220 613869179 804965988 623959346 659417456 489958461 260238691 229046056 695662971 116087798 800324722 997659199 631914015 426650607 257103051 736439247 786512381 513605025 395575686 510464270 345959215 927460160 858555278 350137928 466830905 405441700 342240608 274713791 294274320 269985365 749761138 452403586 354718177 291321584 530603669 225385901 791183587 207763604 375961908 793579220 937738743 433623257 870231023 539176358 823784444 910350660 849202751 617597621 424026435 672858057 508907668 962725083 297488246 351957501 497007070 786760502 592557906 796392810 669286153 308777185 170979934 821071508 101131681 519947634 163727956 903701963 160562971 168823775 533134517 152857584 834657768 243617468 982429450 780410480 889744075 803088413 576460905 680127740 525548541 668278483 930319850 550346511 703504116 228119850 763569584 729533368 595738636 884311124 994024527 517847990 757704264 117679220 664020512 807372394 989637240 734764594 384248651 547876588 494276263 475343671 611883015 466707576 785510532 528030969 966307093 460837525 165752746 835756322 996432356 196436348 390894748 601955672 733941786 853648604 118440565 245047613 598043047 614868309 894305275 188192246 972265593 910914552 451642017 643064407 324586547 253340821 183132958 528416818 526984767 785254484 452652771 910974311 283977550 223652200 283736987 325236614 628661188 144309246 193309848 108683480 767436998 443342272 197803556 377883398 759651815 646277997 778766845 439622576 204872591 768164828 375576759 201073195 707203920 413116396 792750656 401211192 368325320 541381270 188064160 635182624 394396178 579800303 203011499 601903837 574944298 754664788 632067269 312429018 552062610 178341157 434268009 461530306 866962955 430371245 857824705 933790834 767426419 897703624 829442504 252704591 508771407 364202076 461659168 663850758 958064714 393659736 875743571 678459283 663264877 783614544 333943272 370157489 614684646 446614426 158276756 964404463 320681366 236389454 465538368 498255026 554054778 365274682 798113428 176347809 482973386 856725507 268796044 666822624 786081411 510458699 150917820 223644386 571445328 428429995 663050710 859370175 113642689 923299061 685455731 967599387 357515077 512500588 308100941 482039328 567868163 692323522 116282967 294421442 601540152 796352919 444227261 438164812 852531644 412977664 424154561 251237327 690172928 458454285 551913016 610801627 578267712 102357646 643468380 178155451 439709419 201932181 762596775 291806331 926420911 880509671 460565725 513655056 222623433 858362075 990562109 270388288 305018758 617917372 339188765 417977960 118122803 591109439 942628239 604316203 746160906 949166264 132464400 238906244 743847460 656369665 588368393 141229903 466406030 657566097 184240305 660906451 184616735 980175052 100323619 436128018 144608431 809386871 484535091 997190830 711123007 203575701 804720974 696149500 865850808 773035004 879163579 738977899 726566132 323518894 597441048 258286424 812335928 649596946 569260804 449044074 868474148 130381462 415334360 971479731 453768670 771687496 939126063 862928551 896870131 223713986 581354398 842293271 895483149 321135194 405139039 317700717 638670014 343473126 936670053 466338948 166936859 132911735 945081279 903129469 776355598 605344712 144620292 485675402 125205599 261727560 777630206 565123331 239594441 132488912 633509074 740795105 138070604 205488126 233328428 277891471 520092595 431068382 146847279 666484151 239937975 201568446 371149055 552855863 545798714 452499042 146339707 980244069 827781979 720845042 413834877 458191075 903346705 720652041 188496963 501014609 220675488 101510524 192131971 652257209 309277092 999143645 333743882 657401155 149650257 591623403 257854188 657706215 626933947 505236486 157851009 493154728 708528456 839386493 589847104 253959300 185540608 962587918 207783762 364885597 909116743 790146873 335013649 297315219 280022084 800471953 710909777 541282978 271000053 458402961 423040844 552667062 792574967 137453806 957671491 915876170 980884939 676772957 784269411 157255807 256924985 589340638 106576744 953822762 548608546 598374284 229205501 184990722 320435725 398676934 576504553 880507611 566413328 422648535 291065016 250316344 415823789 891958560 997687356 208799219 373467436 401122236 232399854 775265985 103879208 136820809 964666914 814748074 555393596 720579698 988569470 722948788 742983335 287021999 766504560 760008827 565483001 900312206 944002310 378525800 324845681 494689365 589826274 887061347 604900647 883865448 666293822 972758010 227191814 554386606 374145665 636819677 405963914 926847410 552388658 189646386 202288654 236913978 459901699 127746340 281889572 903282176 940044538 956755064 955126024 688846104 935852384 404175349 728034299 146820580 781509389 285672092 263036687 677894703 797367053 610536644 986162037 994759090 524123185 399237252 374749370 683740439 798619431 156867957 623069081 863045129 108572186 363335636 202351569 721033188 912457696 720572750 790432582 454500495 629356592 601350710 316837859 420516153 532250653 627168461 785060883 623980246 588203193 404447138 389491757 645733437 463789978 251331452 765674588 219475694 179125637 985553373 205800175 629668162 852216299 840272308 210794567 613639222 281007831 930171205 514851233 702734455 915955214 436148362 750603612 482623528 758607467 261093011 281779400 199923713 626872063 871484975 486827938 403220500 662371221 594036517 232475320 194745324 674837862 536965043 785134432 888637839 178213620 709287522 831425997 422725634 273435650 290730844 117181962 947218364 338285743 732938415 762131499 931635674 952033229 750919706 253500173 413211352 944601718 365831864 208646470 897805115 844587820 484392090 664175825 104852277 717008327 918718957 778421573 346241353 824537252 846371372 110722305 534001534 433512017 142616629 922487008 903396885 676639114 847443996 922211712 792052858 875750664 508145761 166554444 886177977 835430522 527531822 340802346 327344814 188334946 907808676 283244579 280797082 946146288 556024185 315568125 126497328 264997110 336511955 438023282 724456036 936780213 484743971 159554729 376069965 674455461 742378684 847560727 698938972 882739738 846280924 864848227 773526322 484521277 870825687 936078564 128278669 608487866 838560514 871221010 944596122 767841841 352762993 430955075 899634367 413957352 749290080 812189343 347708787 816506957 500834372 280320490 111312559 973861731 927134428 680965762 864609013 391175182 435329762 791827726 748095921 478759900 219081812 156763270 125076324 748148326 671391844 208802453 703879810 536628311 252934449 221645825 733460333 622755205 182590339 121333753 499254607 383118252 458926390 445834348 247509207 175764367 662770277 247160170 233814771 971580228 202636455 964728698 190221978 276082006 453952581 253923171 473736596 538903950 767167898 805550909 788019423 264338731 228965094 369564980 470059913 814127338 777896890 956347987 341621186 743700674 387897409 996124035 956596813 443498624 874256073 309945604 319525440 746616061 653703771 979974036 621566842 665627610 368629520 728573091 717931038 419957964 113926294 247346725 953311912 893732650 301354320 658996551 626698781 107964136 258284420 241883685 381210645 370007973 654290654 395554267 362944942 312287597 494359213 540483337 133345581 429678946 993773117 646399543 852296862 851807818 348801064 103969882 122881608 354607845 195689145 185695895 542189613 755540152 572820407 896587855 915830525 319837001 288395253 338806213 119069521 755861514 758941107 483498902 708837624 724963751 502449485 350147041 181364440 189678035 704498295 169155197 165680683 180773055 403725456 185833225 725382481 957475862 857055691 410341258 381605347 319438076 162787092 731075923 741697730 117934481 970334754 130748504 273256931 976915077 139744450 789935699 133064567 898267438 530223387 772553222 986649715 686462172 482181995 520085182 230462548 636097404 669785147 329094456 161589427 895863868 922169679 595533789 768435258 380082097 254923735 776136654 257532584 620071631 594906445 496641379 396907230 699368024 807196305 195969090 709699934 233401041 775476182 454554095 885781186 815946629 635536479 334534414 534943651 406017073 615400848 184535938 559864735 499752868 685122201 128278727 142944179 927951791 111302995 233383336 493264420 786468174 548029528 534026068 854006860 943615491 892367676 900354510 835497953 791472781 344688590 417652363 490302219 992373499 737483093 723750644 439251432 836992662 293663079 720290843 586388224 499106224 249238055 966169942 270762044 995633429 986556677 730169529 702104172 869237294 584288142 625218394 637462246 173626336 828861346 858143805 794144219 886304578 942077637 485078445 719614632 386534957 578066901 271003715 526467842 203189456 529336666 846000964 647185592 147284113 873729051 353554108 482490834 874525641 749580973 741872806 196675563 587117416 568550430 504233974 804834416 955107305 773394035 895091165 450346275 181196588 186947462 670187057 891073329 125258234 211554599 877001042 899551756 946843641 650082770 788621482 809089622 613005104 664786098 662950062 579835812 312405712 315557103 360860940 885763462 710115869 627756074 575219863 730815336 762394892 337224155 150674216 849285191 130489503 914312156 299235963 152033625 918532765 149829710 854773353 388104286 450476831 449385596 517468161 177306833 370361712 150011611 446961095 388946807 766343514 472317737 640387088 615307683 560563257 114217666 290780951 385151567 761636056 263534967 787275501 413080094 649824202 912080208 936577252 549883196 421641619 378342011 398969821 200831756 668237355 685551794 774080033 704531426 119122431 488114326 426512276 113346850 542221882 911630188 869995747 356429412 563648973 992501156 461388984 109413479 497570695 957382051 789581797 865560706 992270651 194588361 801887824 725219073 753643818 186557709 773725959 690075766 204783913 370979920 211336440 919738848 737288048 240878331 567654676 359179473 500335333 495474464 197455945 820053012 561615828 669604887 561046981 980848489 988772749 110089811 215032717 684982890 187010532 959097342 518555572 771022910 462575191 583306558 734241147 173148434 792214245 598832889 357126590 954370414 846965988 758246037 402110203 910752961 989665738 298039901 151552183 189840248 590356132 168414714 563095441 136290100 649098921 281906507 708024746 430871020 129821285 209104593 150003500 591301441 924133510 506855582 545131497 919966573 110758982 362062103 209884047 548086677 318981130 168690540 724967172 813176657 778906259 594465816 127200431 456513650 491999474 928875938 680216593 972135519 699604785 481954438 634218191 655353942 273928257 249767013 730328679 681633092 655588644 697147270 389673118 965126333 205604196 277139187 307497544 825743481 649941792 441117678 299401960 315006834 711869992 353198801 888182639 802517617 613350240 494617653 475256248 571087269 381495482 209317252 849448316 657560003 463496197 138640555 307151146 854972624 965951199 684662462 294979301 782470015 694142184 364790501 242691965 769545133 410711571 422025564 700331011 144472629 238021701 198080064 224525803 812553655 695075047 187088800 749802167 707768789 660648863 187349944 822966407 222941970 827882803 130512743 643537224 620683748 119104464 543015612 357333248 406226188 291790593 472837906 518529703 883057265 783642564 950601851 875804855 126374757 804863675 409169834 638594424 280020240 217194326 171436135 377833371 995752534 727628214 485724663 939896416 719309158 491208587 723760253 232020375 875218706 285418458 987699484 206509105 249899905 681852569 822735164 491531425 202821617 239668410 820580098 934771006 198762922 126492113 581506029 265530447 120041107 264191207 806830064 680119093 743909841 292683530 260521138 513732404 666948667 252729172 307515346 102727758 489095572 303020814 294357680 341538486 468793960 521882319 605701322 784952282 202314839 805875938 503484732 282400966 719236549 150923328 333491115 552829566 141471918 320849725 207163764 614414704 581230354 419375913 670346927 129313282 607974346 616828785 572136286 721144093 682461296 546778925 734475628 842588671 216582177 147358518 552213919 782885655 843999300 563648212 688263536 259728625 593392836 665018613 540512005 104024004 878676538 219206259 924154415 795779257 374845625 832532377 425684810 387540136 578325477 560472745 812896528 233756494 755303791 643854901 903418061 955296199 631194925 728376137 672621413 774897268 726628176 641949437 368607915 493058101 425962306 435470431 499736951 931439524 274731563 497649790 449729319 906858480 939236327 629785166 950321075 542537478 676544914 150590501 887361668 551287774 266554821 417923432 412450302 808110536 655029090 132510829 817970453 487898041 415304299 606247618 556491707 316227008 272793585 210290929 608981175 698098252 926921520 299419069 638473072 371541509 270525688 336507177 813732914 161385816 180785382 232374481 665592027 278022753 315998263 568548693 749753125 726945387 689144649 292237412 306965152 897341576 959389881 431861372 560133077 211392393 821494720 924199866 839927404 409789799 797493845 228150769 561418032 112863233 791333134 177190725 909169021 484926866 106971471 261300761 416735557 899310825 362035982 956379448 411484196 861838301 125487674 577111398 928812701 255359240 515199725 717529592 143982698 346374477 459113678 526942172 691156514 823256363 693899793 466509686 281942315 511258711 922852466 518313856 116054277 446571465 326802802 559950643 657104062 712192070 432429696 112632313 919187003 373510062 168369634 518605102 695277130 619517025 974086631 914857964 214813578 148264118 473429805 422600090 429699312 510233257 476653566 484639148 791448782 586061971 989834735 111738589 166595149 231250571 355423794 374197656 814890818 316943041 886798981 326813273 208386928 844923172 632458378 238363887 286526205 379073471 822685573 468392087 685110994 520444784 246056914 963603359 372224744 713776475 643910110 863073188 445991429 103115688 407195462 955529011 901433989 149383682 183418747 586172314 852805856 845962820 827444803 376309144 721962609 961882099 792721871 460066520 826224542 156303751 543418452 139035628 660293594 249684253 216227694 873193955 272008840 525013558 888896789 406126782 178997602 558500441 735200844 313499045 215786268 421730521 483977745 959294134 589672912 479213842 608785737 626597568 726801536 362164621 939164494 292598057 190528635 183508678 145233622 347827941 277158608 989612744 267102219 576151301 227593856 199617072 696547697 199767663 556810547 158238238 282775461 905985361 336480092 745218074 436195394 457230134 802234506 637432909 735976046 614902588 135984168 908586554 937816913 860806456 306566351 904571541 752800469 714318434 904147663 809818783 761076007 110437480 361721902 234575662 185918431 538929498 399197137 222396120 727802038 445117319 875342109 839057157 876138167 521051451 788123580 811196560 825436950 132402853 713239590 594326020 678835298 912404785 757302272 836347971 972575523 500319564 505877379 222300877 122048393 197469270 823011139 849607377 103428382 156993563 610943175 934890195 661973707 456518798 103384271 856853790 845764305 288968316 164492505 460560975 837010648 967501975 929047576 703469437 210102147 655939853 138237063 164166651 782592521 489233617 748159452 521971494 219109811 890944048 270252822 840568490 573694958 414103580 300958477 989329972 339205613 389336805 606965445 558718989 506935813 763546425 257490749 711778020 787853861 232121476 231097980 969692360 793564886 869310914 474768938 335925566 421466741 932301837 330215363 282871782 384319098 313690537 259248480 510317324 958653855 213660771 378495018 890827776 206482199 296523569 117438065 936058853 662105121 972858505 264702703 938789187 194688679 750693716 227626052 852828032 742012441 751205380 412636800 311420182 579287805 634304916 748634904 850480134 168538486 346467910 854938239 598490117 669838614 265829508 743386099 120589226 257385713 634079327 117420415 358536852 683135279 814202133 792244347 943437850 307642289 471129498 106814416 500245859 520304540 768649713 156824600 683089851 349191567 771156392 588376056 568105468 959175112 931573850 926491816 892016261 574610206 296747864 150457035 870002501 533564875 441899652 726665440 783160360 607082614 736974748 304735981 599025137 815331237 509015678 191489572 593320842 663377586 875998090 883345709 918604180 246071173 837976076 761573438 650472284 961468841 637823649 822590608 155626703 552768315 351602559 986611002 400201153 446439690 704063203 322453215 374682394 507991298 567803131 253970570 411431052 745293919 467633335 842058951 669336673 960033242 119837681 604734233 181492289 581673766 172864050 859843769 428198257 583726226 330928984 753727915 391032627 525230248 574525227 390081784 460844422 660797457 834457398 960116444 431722940 670092198 383441704 354149787 965808898 211085829 202335235 450611880 471228573 510368200 724925138 666464953 513828401 389987964 141455157 699007703 705064682 684064568 337027490 135473508 250663294 260964695 151953522 392947556 370598026 665652549 696915646 211609100 448141330 850988319 347393793 754921386 616428972 335929051 154124176 945845143 574168784 246310314 633265954 676980820 869763884 392648190 989829852 582174380 219697132 572683511 941751825 914212780 952128715 794591641 942777331 233412160 383281017 276231510 346947318 954255517 515548595 223289162 707148689 613534845 142630163 140513840 567299508 205429771 450469471 101876198 507228869 779458043 585174132 762458522 199885164 689459063 823030561 434764800 233258021 610620606 361490419 916508973 530340590 377189430 378259589 696878009 405483449 505867657 847565229 649681999 206263448 802982970 864953088 711487648 773067048 392725828 729759748 922511893 860957233 492543211 573392388 564156072 959950048 191810518 509342379 241986071 109663933 530751093 706778068 630980454 362052748 325545045 389584299 296109806 319184358 295916770 953904676 553469942 363520761 707751088 612109978 556641078 526302014 668563833 374287108 689030272 297927835 928902734 255522339 622924257 372592615 788778601 106653495 538408806 145730921 103495006 670305094 997324611 292198520 433809551 425113235 204597757 574006633 641847149 944049025 652050450 200845048 140725534 646748243 966840064 539389129 185394396 833864206 759635442 173731273 426790055 923277983 332622194 274079287 639449014 845087451 672380834 732431742 756143402 720196929 199402110 578599697 971200687 672910350 587129800 879440154 269151638 718834179 671624982 871389035 361570598 285012490 287176006 599864703 683345546 351246477 361122574 172413424 213092514 711525566 857677110 624670192 997289983 111935236 929313463 549931757 298372348 932856046 759585308 760073533 285394832 973719800 442747885 533581864 715854386 210259262 973813714 538682478 734412572 814627182 573993419 880285170 478577664 669296154 790989512 206823195 951851570 397358316 407438505 268972293 710437919 244290882 139252176 809028652 383897965 612963609 561807130 171191313 850402974 998093853 734920136 963430695 967648530 136755800 219229991 931615974 429203642 179103599 328148027 557851469 291624001 763247463 378900715 745095590 703678334 333483231 249255010 135478288 823967514 970364452 259887673 844537404 313365495 512791200 685861092 316040429 694641239 576279559 514023159 525421715 696627538 470647738 561930847 809528178 933188852 326387008 372083549 895151780 397651136 582952665 576758427 741684529 675318907 340290327 571317667 963422307 680096320 572932302 326489137 824348885 899388609 620800720 285180412 429710901 609339740 423847180 838625635 651423337 890595552 551255456 559537881 267354150 758565120 836310708 670155059 103241238 839001398 454491884 661983528 487699581 122832816 342088807 885394403 983402179 502368281 152551668 385905493 564644420 417937368 927123701 624788217 208127494 267572651 883451379 617180965 994788842 180104727 108879957 834680468 699419692 190801363 380344946 839983513 657590780 685932770 247920390 193033173 463575495 688178697 787965592 578811101 902002302 501637846 751729326 778882435 945062788 584669846 144657553 961915984 159176128 761983207 207897136 618270945 751460586 570723008 189283348 274572444 861280250 100018332 460879318 673053885 636618305 608299532 913163088 213575343 937237996 569945549 893593721 823070449 281071599 168228715 557186231 742581758 328678015 985945338 981150831 222494426 724550961 599072464 692227956 527813540 873227886 825334132 777864020 558402426 923492406 902225005 157651930 894443664 997754202 597829968 228984398 250333125 114852016 900790781 250188887 447883142 773920852 566906427 208174822 243135597 840959060 199950561 506519137 227178432 838533591 134726237 368659508 322119453 702560042 990026868 463516734 399989806 566665597 939826634 915398572 362316754 776912274 942464529 677213071 639062953 988719527 230577498 646112682 191942904 160370448 147758786 213729766 628024619 422421273 505747381 415857253 312268004 418965852 924590183 205537633 717564633 393469739 934998285 640918372 991637139 411204514 534826764 641291724 738292525 236749797 973752135 764056452 690222989 308226000 296046197 406714588 668723085 484351788 894588997 562699304 343718913 341190524 178244289 280832443 533136146 557972040 213996980 814566987 618309716 858728970 810453549 153784058 744309220 428445260 738103546 564901339 330680378 524395526 412133673 646868065 445942723 719372197 333050591 597116979 107039661 364721242 153978053 338809473 515841667 670952374 820713049 716965400 781054653 436799204 730968698 780613494 685276784 834517316 777926758 543720771 974127475 997074054 924138497 582651332 161379255 389446990 799591645 669077216 572604108 271720235 148666585 478288980 735478386 899728929 341799423 200750817 310100413 712426657 914589057 340759379 953975915 327232713 774052537 527570011 686103049 800121894 809173103 960442984 507347555 702559103 287546569 274844375 306299395 260354223 612810095 759417755 243434982 919760522 759688608 987299212 331979724 672731307 902420659 733156547 926393455 954267655 232238629 851382133 686581516 169864817 691457046 959379941 612256769 144374224 274807381 909998545 441098923 938016829 478348525 171685077 107197001 389073129 689440062 836691593 127376016 980490009 278464350 775133508 324087229 837475590 569284531 335797603 394449535 727519445 451197939 305725079 283540267 477661495 651149497 239467352 170677520 627164176 557588414 814825873 215687321 988547792 347609176 144777362 999325345 558594250 995561988 571182690 983212518 563404206 237518973 711621432 551631878 922330163 236941385 867306395 233104657 103527317 900948072 643074198 890210449 842838835 592925038 493109245 500396668 410007411 485934402 629104164 118405109 912762755 536668556 685333395 135254781 686094158 919855411 956731922 423381076 576425444 749349788 629407128 889497632 576571036 498186541 792215423 934752634 325581369 358539571 597274025 857977984 930600412 394318723 950955472 346638614 115368772 611675327 264082556 598786169 609920241 350138447 115137880 450506337 879192500 576711560 697596636 220441683 162359757 664908330 553631861 306546070 237076054 619688718 419975961 640260785 682493939 517392484 425648837 952833144 702798527 318066362 290742201 370612911 798465634 771050947 575509006 145472425 758565338 603975890 386142557 950827337 247982013 831561463 681191050 691574626 827897289 800600097 900995750 729234440 459074204 701532227 971422727 956792193 512975936 617539935 173169100 728074211 988190804 389364895 910220262 169129492 458805939 347042365 868660173 250112585 345408189 617713593 516959491 851853012 215393048 830080991 354075075 886064349 850088631 559128702 107545797 215236206 817525805 225478378 712230053 748989747 620858197 206070323 475641254 750722646 887618742 327344373 274686363 243432900 714540247 993020077 832411919 629779223 801408041 315627311 672211992 884755874 176253299 790319227 308261549 198572140 434023713 168950748 595686014 766874810 440023709 388708982 424168156 347697744 984066234 130767859 493852613 497726787 655240356 874374906 125198535 310172305 656913378 210135094 911852654 802253182 195324755 482027826 985451437 961153870 724855396 918473698 368178831 307500263 854143989 132524562 904436015 926003854 799595862 606000753 184818588 661895885 685936609 978094575 440245776 105517394 560407111 821652014 387635409 250852061 206345191 156770068 610326315 855420911 929207946 503770176 746386253 255393688 797283280 886341710 622296019 780649889 372883358 903947987 697514495 180484328 553134799 411082273 883093859 807439762 111393495 770604933 435916635 626115416 386353923 483189535 789901352 496021077 824013250 866546384 262458777 319566247 514183713 372309790 631807680 462388798 896095550 730728377 409828023 479345593 486580443 565034538 991670023 682872710 736827307 269700262 936893250 676373395 554276059 398463070 873307908 572719998 859971948 152140061 427833497 685466539 994525822 274974771 621396596 533418163 636966824 187747754 833781005 822157173 939494204 231020232 111382127 178243445 442853054 658806581 722052972 881823937 759750276 109031198 905698364 400405350 523766070 167448121 314810895 986822992 193524283 362564234 327043580 354901908 910195080 980926270 318176766 138673654 208744016 252695860 857916373 304338201 611495937 336411350 807221299 513182652 653201655 554293588 768698070 283278514 561886244 997647495 634371513 278939119 402755035 305910907 197698949 408543908 512751476 235776143 398645542 163490779 698913840 914729484 870162292 566218936 960885325 218659117 200866231 283311275 718720298 706149929 629888342 243612869 155497303 672785197 255013192 307091399 509406926 156042988 102247874 600285131 567851890 390835899 715467098 190695387 649093332 271733224 899532100 740422401 780312427 571170718 243709448 806818072 806270248 800382719 816868380 610246592 185221528 161858627 499522063 563393265 554118306 153732237 949662659 262206053 864331435 211717297 472784282 528362426 443709032 659266203 831019354 303726155 531206315 656617653 836759995 254593836 860192340 222452407 108255835 411053369 974160251 788360741 587720186 341068159 880180650 746598992 922613867 317527607 328372478 621410214 584312198 282611749 769237509 475629877 396159562 174946910 953624871 451737175 140085785 534300228 490385626 854692025 912283785 648888893 192601223 588958306 757995520 950224090 400515414 725846833 412699324 768130567 946003685 499838469 216851970 988037135 458700803 766633832 908261400 955082876 583195756 932248975 463062328 372882917 999709035 880163244 739149922 248618208 836693475 728727120 595823207 990786617 985021756 889049076 307684706 943075894 762683204 133840457 456322808 531795577 907539478 373759067 867905395 335097331 542730034 542927482 683092176 430824249 373976153 574642929 446738076 952697426 663810793 476338278 880250650 953706038 472792087 226886887 332865183 796361794 426699529 792199462 482063759 329578634 825405331 840766545 999025089 720877760 682232831 896557636 904572137 235352888 452490748 190587649 570551168 774669718 662482337 432937433 376527924 316635916 975992267 773489315 304951539 593403592 801079160 730238035 500707453 837939070 454730593 604198961 125906019 263750402 780048614 416051120 266008588 314721206 322304274 964849975 597416943 395959346 989013402 932383554 326322970 472148460 169234731 383816933 445734181 791293802 343884302 590958241 675975350 877916718 680360296 448129660 786351975 800707884 812669436 435854840 789681598 298468579 902137010 206698801 334272544 306892445 431021154 948053323 995445003 394086106 452574756 153034980 364128635 868906511 789178010 668936677 201246186 697076152 396460504 168809551 732109036 523285673 153516283 593561531 906195488 487858179 641668266 944181755 694880408 572789131 914838185 118540223 158933459 783701368 165157661 488359066 512213862 194804510 573951068 199649590 383112054 657997389 900599167 666319425 407291393 799968862 398129012 196500081 793107211 863683621 716985521 196827743 272603166 291408835 814675656 888950011 337370723 616032503 898512023 332594459 925579594 371304751 423893631 576769071 827396801 306366075 156332361 474009206 757355887 365007618 992475207 832298435 264054129 957021293 102154656 182297204 344632303 202534625 404514713 486456381 847697862 932518173 672398676 498853584 644820433 567053226 566557893 455998097 756216257 272633365 115924039 481603084 727439240 582376459 659435748 871621016 516495742 487998503 219257013 345458378 700955491 552687291 343990191 583702863 893183296 641286559 848998125 707110700 157918304 761993493 173581678 788641143 877446460 758336237 396606166 587997884 426997609 166079554 507765673 675034862 350385852 766487338 358222924 606328640 494733143 113084259 693868830 793573502 127107308 898995518 683825013 521956934 668837019 274961537 261360626 581694305 506562531 479000571 391270542 621681494 703361245 162960551 318482319 215651916 651240476 570907988 286660067 266888887 901665043 496894922 854287394 897299465 561353828 728714956 823754499 733322836 959334424 462168182 271565426 901207203 391862226 145640237 450436865 214920524 402668406 968150109 225032327 307592433 547961769 551578364 799819413 436679006 483537678 657739985 552851225 797939136 113063051 914931594 820003524 418491235 704504168 631034973 389241546 699899746 571575325 698660194 488648117 600189637 911145845 204877462 717668357 657353938 134631652 610227998 267750102 620036399 489875722 116610631 612412598 469478025 746064980 709765406 824411783 350717989 260072124 971040483 591582769 200689082 874991619 554898316 344327086 325461442 900566429 319419246 386352507 907972429 409973575 532425987 728737815 239534861 484179787 654809414 644057878 705031901 850746032 383036514 827680555 747550199 738799183 762942964 675365566 738011554 472048192 401340537 365019058 906152891 251546128 495226507 972385461 966094846 846304101 987465527 569578298 501677415 966780360 461830262 834082470 237198613 488046845 920202510 357936515 845215517 806835418 153342429 462837005 911380803 200230888 373358657 257524162 641536647 251623874 360032643 235335727 723913028 502414675 492736037 812931036 411974327 262105369 450044093 873658536 312862979 269815690 613747875 383430474 437583204 788328778 843649108 561484925 336166871 881672067 409174587 914479324 717929078 419798931 846645041 765134283 964077338 787199961 173292893 467286183 783021954 540246339 946331059 462422681 589442775 499081490 349822159 585986031 536833256 411843171 511998012 432493488 504374233 838641443 432762028 595620219 701073375 527681757 991815786 549516657 618751261 355566970 436297509 153975924 764036767 415806411 541359851 476097966 239707635 744228132 268327162 322398396 275128606 958117897 454982200 627488479 287099504 238088771 204893633 973991387 392402015 934108286 655848097 398228520 660633308 378653151 837678823 847557775 718515611 593709933 570100574 390218824 497234731 933126932 860543618 806139233 305851808 247129257 542453999 398774602 509521908 980722584 873687583 460879502 833477333 880433376 229713903 693575973 693133283 332325629 198295604 652620211 210851478 597302888 721969883 242762340 959003530 940804633 828672607 655938307 626411066 988685281 136544278 568182105 285217120 855290354 853038770 993450225 924277182 581959692 520969357 407884975 921325640 348267962 352233233 411319265 472434965 543384834 758778746 852568641 507184491 619152042 177984066 405148236 306179899 323146922 402419075 768265851 641850123 534364589 754539827 240204894 611706409 866225937 344211185 530618920 615191540 815595437 576980990 229395440 817941076 953360422 149872137 514659259 219982960 706096511 873690209 139132097 544363580 622349432 121113595 970865661 995413323 212594774 388823862 939105077 346629923 811929413 441664420 200119624 609963987 950263859 108449395 541246178 733984150 442142803 543995757 443216145 776753391 178711829 743274204 917682591 370648777 384727654 484246204 977989275 568466438 669334256 294562920 721203053 370059681 899482679 661367906 141112428 297172296 152985790 444607892 739831358 969099038 355390697 795487781 615582154 542548581 447033055 140567586 886942322 387108084 790367845 948899439 936146854 445821561 547595018 213709071 783473456 319380983 390969206 466120694 158471988 450507807 368712194 678209551 671883649 594304021 284922490 160024252 986089439 940594532 820376404 542967551 333150585 279097812 927847847 611137279 360688318 401534839 740822219 894042633 268223309 731927926 919774287 608542457 466956590 191448626 238302982 818236416 714063718 237292714 806722038 248477806 717118677 834287116 682511803 276332748 310703791 511617478 153737285 561230886 408065119 433719245 840361213 224948834 605276705 547307706 289737716 358408799 924660895 500792079 444796886 740514980 935160557 402016570 373558232 292845230 322760631 115833701 542467280 547633746 147853338 218012303 131721673 751986908 795010853 497591975 857494449 773814357 519389575 252832854 395469574 428550379 492657279 639092116 300668225 887644581 225573699 430495864 738131293 617486872 634776838 872836269 776256725 720408358 219621637 427511869 759140468 607627565 255589034 505800278 343197099 833648358 786354666 572912717 744647845 630521173 244960201 159309601 593174839 761720082 688241818 678276814 599509775 495201204 585028366 997365230 341812607 107715893 541227548 499094904 869089857 870490734 910997356 598882334 136742157 393887554 172771255 984668376 604908720 658508628 418709795 211491354 815533819 166799979 202145956 335613436 549319628 497246544 148294830 275116045 788739702 941423662 499519961 883746288 206917994 639310474 635533115 148017553 154659040 474881455 648853014 389040202 286016305 760698351 577035378 791476280 856660158 280423263 281168739 892534723 614179944 414555037 674432663 395569078 538846875 714507344 812519170 486792998 459824746 529673809 487329255 784515253 359895170 862731974 452487208 330920217 782700575 476318548 440235952 441786385 338224195 853145082 211674116 791088857 374354924 342905601 382511190 308623640 348325968 587618168 538018073 726450676 169614640 717924107 424673362 979335943 270600258 556366642 225040132 167132288 308731222 222911958 973319135 189429321 894271488 489604267 384401072 384258449 515680761 770286463 166078400 340431274 123128864 521595936 912103153 592519497 134003179 920241259 977965219 179060956 392474577 302722891 206461132 610517540 967774541 753370373 924516348 160912453 674195905 687906209 283655107 883620259 691506118 290790614 779395818 902440113 878363244 556928202 546711330 815523703 815113075 140295593 780128520 132197331 656941661 898029441 392981649 522636769 381929561 545302161 238116727 536963955 189301598 650932104 827735557 113996227 651454985 869855613 343801001 364489673 925314122 675269572 665403773 698813573 682137584 734660413 139527387 320319373 898300519 588943855 338493663 698417942 675773909 269377399 509251033 416929909 648587713 928971514 991131613 119329916 106617563 944525092 127636910 431672006 272139134 346189906 473998299 735613606 911291842 296552306 234564286 661960204 152576924 234532829 147105516 337868565 746908452 712318327 423993071 323423157 960930685 618789949 804679814 903765157 760957669 123356193 664673458 967658022 842424390 119534741 194143500 359030246 533176373 423628425 596489530 109691528 307720675 121567882 454482655 581409127 234017734 666831341 958501049 340023375 567472609 623994346 986148561 948430352 344471265 527387773 784087550 484101506 193863313 672048296 577278447 903110092 531512693 537270361 403235625 304817875 290944883 110622688 335145699 431433765 362614666 912464243 215435698 868611765 547840446 978169122 649770362 621123112 490073899 804795455 717276352 160974833 977954184 768060274 311613568 397150484 752863266 679216170 995120927 102569017 618879918 121169585 118173450 915053838 672651866 366789072 388808791 628366278 904039798 367698671 736772564 854709923 715241074 829848904 585369575 251928118 821077411 923992291 306303821 817196191 822576976 632167964 362033643 710407126 215609430 721239352 752358001 475319332 597876321 413096439 295264604 468019299 846497262 386116806 318880571 814611496 734633345 307207434 166265597 159906553 530663078 352231123 281972911 892486770 519538830 437654861 451866586 319957408 792995509 740688311 506712887 350135611 864400886 875029098 904778814 617665559 806996812 319946494 715696620 539575041 295896263 984159627 221140859 886286851 668404866 513128855 387913861 165275379 734757037 643660640 312484361 473976224 383234829 637105817 281939040 596977759 836637957 756417206 540508392 767169736 411747558 951894443 918583816 698290662 307362187 398999620 235298751 695484218 386543132 594546478 237994361 808196742 361038923 981983965 264144530 230591323 295842796 842889512 427656962 781077443 510765761 389523732 520357028 615735619 475914227 277766450 939604331 702283259 939473903 738453252 552026508 114437124 741909393 120159779 420594738 254356113 440635344 624840028 678566018 156512184 406938559 707583933 190888067 275923725 850644491 393761261 596792896 463717804 513257402 999705865 246166854 462482632 453586367 292811267 239378636 429600528 969958899 375675772 601648409 707097418 445324288 647791231 920512621 803856868 734897902 959946976 372241177 598912382 593948814 154017643 302040878 483971532 826521338 965477636 104338134 803215091 644872319 782686366 478171897 238361930 570935834 784491430 283646007 661205833 499790008 212982014 118944711 360208671 526647066 638941848 599486224 216435408 161739436 989098564 157409394 646055197 835263947 253486013 860451753 824616703 736841716 475720293 799442072 438844357 216541463 529962927 672024519 908183576 218284048 418649114 594657905 824791774 273962801 517824476 570787684 152159909 182562727 377316312 841530341 319457285 314752938 139266582 744012068 893318313 492291559 150003906 595348898 451442141 689515336 906415283 337216079 365651469 922685642 129653214 923561794 632908463 771807579 186016160 360125981 743511586 703415066 496159234 162708920 193717138 966269571 578674412 824979779 129993428 755609181 721289242 281157749 343278283 262643132 173675055 831986426 607910756 554964058 545949277 433722803 841837346 805868172 686143869 440211216 682756806 360400094 428976587 464277520 665017575 783447922 416444142 725536028 392215184 369768028 980862644 825295538 924546856 498356822 196684128 361354898 859383335 548707033 417406763 221405189 203620817 321560754 779201517 861736556 870178027 813136311 621801541 466220125 213922036 788682273 163120742 616057665 494957102 627829157 347440257 845689136 835501755 801508325 184180466 179974521 662412761 698275452 136051880 584261650 986356715 894244675 976524501 907645132 205321742 812944071 623742944 784503990 425314170 253776506 748598116 824095818 837936317 865256627 277299933 565179190 176477270 700113873 670153601 265383127 883998185 797336830 139289407 159562615 643011682 324767516 844104771 321023554 162509288 269532936 917231294 525749115 186480488 417992982 873177238 883035027 292648297 684858124 958142527 781821892 407389504 940064073 405762800 753682608 880531817 525051046 486143353 159103063 566818016 991097724 684765456 405237113 891947951 673621007 759350053 790385211 992683795 574925062 964398185 788928155 401069771 355737565 466053534 599476849 675815682 114761577 918567581 370377008 652260822 432400405 342451694 688703368 956143940 819802343 443956561 518736627 142699642 221710607 771038745 770514585 623808744 346699116 493895587 164930670 434219069 446473205 187141696 716235199 142585423 988794347 892718804 121593153 954969935 829877683 345595311 359291057 286622907 591979811 437180882 212896999 267827745 988807124 174442438 772543928 733249872 386761356 598953142 363435463 240816868 252935759 911520411 422941807 769794782 258183371 187147268 340663771 387032131 249826445 270646467 699334338 535940412 732402791 848463951 735067527 720045652 478151537 980037152 921110934 968476780 539172885 809503655 220059408 706551220 282361632 576250307 576870132 681884979 616107248 798047937 400485369 315870313 787401809 314791410 181428064 116092353 711007221 931204741 189463684 358175829 223477333 480268626 521420346 416929108 676884143 904393179 683601407 961867322 916944280 644195892 829091320 363949272 311409587 521012377 718628968 665053823 452790230 873709171 320320714 709244769 742712389 555339382 200733085 443704631 490361604 713028571 848348924 519783816 910391358 403315172 364030925 675717297 372959664 942887688 621971416 316793878 476524012 730142837 668747289 101967648 942853251 764422657 381748146 403195882 909171737 746471612 703103869 457125493 946898417 505630361 262973441 602679240 545897808 270338707 303132930 653864201 813667880 953251643 379861773 965945518 419289503 558394733 522978309 860619019 797041116 105157112 268879715 925447786 959400888 691225390 511860140 991124547 444981672 828338252 763241525 190807467 568458630 178819416 161863969 947643454 174125293 475596213 699467799 900139154 265349976 775579267 305184345 399507490 968671172 382185216 554181550 945399596 867660276 406701870 762922392 321307601 196920366 958595078 872615428 593503957 215945978 844871924 482980039 926610895 248029869 870184125 675736454 116320260 121628728 876657097 554069514 479378253 121584423 569026430 566419252 435782711 133158459 207685065 602369011 403036508 939127511 783423105 482271387 218290898 368027228 458434856 261296452 823159336 186247981 826566809 911533809 376719869 940260723 725135893 684922231 886318830 315249772 229781773 328046564 498428355 412318244 471379773 606339330 165925797 913071553 390222897 199487243 250755561 960262685 654253850 872729951 182196688 869543863 838329278 693871491 848822594 440575080 447148342 327846536 916019740 987503595 928910790 438351499 898491278 214846473 854559990 996908494 981687368 643864082 828644021 877234511 447821659 337676520 517043815 498889237 261053246 945815689 212386818 170259465 729835124 981686359 919067209 553161632 760028487 465742219 108846020 443605969 918057117 934568186 608853632 442384304 592897466 104886471 846789412 654201276 435007061 889151822 161100159 181165709 675902838 873879203 666441573 823114154 252485774 790027551 119529604 144833923 529222015 878203179 785570341 763899597 304899693 323202798 621301597 367382088 623164369 930877092 232897593 274503192 752892834 734418999 762419042 416752746 169712290 367888432 632304785 488043459 625415220 143722558 835114284 748966258 472881189 489640182 186322641 270430680 457916266 151433296 360896023 386740175 757573032 649052981 408825378 631855928 196954874 920956916 880143037 334420115 999206475 681447133 572795161 667118810 641520010 229953727 838271040 127518897 949847456 793769598 609404072 529633271 599617067 261061257 678106463 757986895 653321073 352704123 138805567 611296515 976578513 207437146 416100114 850792643 571716679 926182136 689308052 520285076 532422623 734350144 788008875 500040723 164624456 469417065 957836183 639909088 513173463 130268024 521187954 793863401 705100219 479978498 619926820 481767848 121007164 340453728 743415013 630677086 466762626 250313518 204459093 252868714 695940546 139725876 933537092 668483181 297418398 631539472 195022906 697247668 842905154 937268037 409534377 140603882 726062785 649005278 857523488 489391573 389266377 952920923 617782881 536639326 145616299 475490677 229892407 420417996 536299712 941763699 825245857 646136284 284318079 244947181 989193791 695577892 351501380 868489971 475066815 240115792 447295448 849060515 639916622 771792873 463244512 936025334 741974552 156129663 662264992 313078156 938159728 483584364 420503602 640545035 334176960 376365134 780260707 538027273 879477011 244597516 304372912 159171870 202913323 770925360 120200555 464956608 637226321 470422140 572807329 519572633 786039489 314610292 894469284 260216011 580813544 616847609 611183078 472659829 290130263 563642679 593037368 545665279 636415850 800587387 354316157 189199099 928733550 403551469 967247075 527802653 838901912 719118644 498800128 832396663 977069281 895135195 509213950 536363759 807065753 219196808 577060061 755938969 138453482 211166183 532197409 338348106 678072083 255826628 699318699 955221051 599685156 872860902 265364516 717266354 202029979 149562890 974252717 947125536 305655358 999202647 528765212 381841968 620803817 200024060 830458984 951455252 573709697 140312761 611659089 796382768 690990424 714312610 964356942 802185645 672686140 315743836 903334448 714487173 116957555 786624797 470197060 249097343 118934998 713189676 318066572 702065394 599194464 250780949 814709345 395807752 152171601 114006298 510850143 427133387 905101186 776516611 441199664 851960460 162551130 230032442 339670789 962724880 249570041 282041588 407369440 172179917 520071875 306558521 608711693 106091227 522555311 322107068 391644159 712686666 633227682 479241716 387319361 338734922 148151690 530233859 991458125 273165026 451162895 793518174 605420042 994004766 864184485 677839874 298912787 240461516 842009524 840461462 656265582 918924760 242410513 354155497 362130496 424114944 935770119 777725980 158031060 758901778 556706265 651707413 491831241 814712940 772912147 438049688 613574140 176743340 967291691 638840243 795420330 296872324 148993566 119368306 569057876 603762937 241662415 276847561 571793100 147855271 220069535 559663230 414498712 370404036 303386608 955870745 206936944 373876416 706594687 577953221 970457411 949317132 258909296 702875353 297623465 710607405 759745165 857487225 844700070 668181108 714299062 893179552 735538665 597969997 404091737 788702544 876448158 627436818 370141774 279785119 267975497 383443301 661557204 744398046 243315092 477092836 570184235 198197330 627147610 229518136 850132669 639566205 542888825 210701229 375453878 594887663 120420817 417562451 319047252 112755275 840248930 198144252 143420765 330374015 390387405 632593664 625787937 891443398 212792482 774519764 279066863 670946519 783532110 484036645 963627167 821688958 183252982 562996393 399068535 248031155 390517255 252300717 926880272 228091783 811489816 920309424 293288919 846415009 238321253 846721664 264192413 583404315 222269654 316095998 786525310 536380054 418470704 967535006 975223131 386977062 688464509 871117277 203636493 427691458 609811727 105996396 611620844 249829448 152890343 485248105 275497884 223257472 465366905 233052848 134678398 940640237 487387658 129050630 896696624 449913375 354797218 643730925 395567293 706317626 187260783 409687915 295998657 136548075 638449593 885736388 911498230 572551404 545420558 522323262 834806426 624768427 435793102 981371992 865722142 634321191 180242046 176250072 990809018 540711503 945518646 279576093 355351219 134153819 326270179 466265755 651183643 776813024 676651810 318650265 596229403 779667577 160537805 208957150 357623685 556487824 891069427 692009918 583719258 137077620 737351868 798154960 134064806 818309930 619369697 199427493 274553111 721078838 213497022 304938936 325766130 161681047 464536305 598765098 643382807 388587771 660673393 230708067 318646079 421364266 963732942 770957951 413113119 962118498 566299919 961350143 468732474 360300237 228249742 578619799 651534430 464030970 306203712 653289845 502839208 197827615 938827509 395353819 163830509 128192135 803091963 581319770 274541226 183681572 740863149 137892286 634849576 569185268 804082013 761994028 253326911 635995239 460392570 214779022 917386891 877509193 417675231 623099913 116206215 585453529 707208805 656990657 240747799 447645779 488738382 912551670 736331178 582273765 160022323 993811545 202666222 402000390 502033653 189115049 345639544 930903798 918428664 307914956 298589762 398243943 602899038 868015185 444045898 333271992 176599676 156693653 857741180 121366720 668934878 498195096 903851519 543408404 392373405 189163997 673195516 899646321 536070492 609675134 640318001 959970156 952080208 270478733 899911563 456165486 809989193 693751874 948749582 993284020 492381649 700223172 814490715 282466660 605766190 310384056 290053595 270202945 601923672 621691911 846358103 408327745 351658324 944129126 603235927 450663983 485458594 203959519 723462544 595388171 893065571 806164154 579128814 138549441 578635225 199900223 237606417 970008874 669678689 244742618 191362044 299099047 395440271 516182124 298669113 229717634 534838611 347670390 105654626 790810044 377030860 606921643 578827141 582859303 939767417 578672160 474928447 511530382 821241713 420367001 267786688 402244443 454728339 176930299 195101391 397703954 799634368 159297974 901726779 663639271 666873652 786049836 966346109 363375718 664712550 386257709 391097437 520941348 399296615 848388270 988274468 848416690 807218954 836736428 848454303 140690887 387593044 425953995 701859253 930146866 323254554 848160598 984966624 725298255 119988872 123292632 519051107 419722485 724869136 193796665 916459619 973781133 785602806 952231649 667695626 418223306 467205018 730104544 879581629 286584947 842659399 235058099 520427690 266869840 371520173 250569348 944046152 370180357 210833044 484454222 101597870 570845397 509550756 652378119 579276652 460265764 357430059 485403707 355601828 698047767 466279107 819884654 802491644 926624161 574500916 378457247 830710669 649975064 768921401 490063434 598655538 811512550 901940569 834700869 710620359 829078875 280050251 377385550 620027650 188494748 349433005 416899620 843511683 779031654 860464236 905886434 697298581 605761543 214882448 492856049 929233238 582185155 389482665 917803960 230212450 624066593 264031116 279176470 118650547 419105820 571262409 710653990 920984650 589672796 242241412 175327560 461192373 883980956 847056838 867271001 760199791 664746704 775232239 884505252 122262346 101214850 776327676 393773020 155043467 919729793 562643194 613539675 998804402 258342046 435435423 267108835 577277043 330559772 757171559 436801912 803725410 894618994 487534823 459252162 491561545 168548582 702288202 170836653 825143722 902129140 163394068 751989476 916735970 925906977 557599102 253970828 142390363 973037475 825028074 634135720 435855221 146879907 860054714 201494056 818250329 484199083 156934885 799198352 529481055 614361828 792857337 363379020 592431534 208090091 504065932 352878088 195802820 745333474 741091728 637706427 249162679 530706627 581160912 329276093 889863466 485799295 492410365 504180585 960789519 655129467 304031703 128971231 536083786 394422799 210368444 594612829 123187480 718119419 240206815 558011072 715814747 883229435 845153159 588065638 643351283 621004494 992013635 622266647 612395486 434643622 772593464 393089227 273468241 565038722 877312877 687339615 926248745 831231427 374243765 383177331 587215299 203662150 781704392 417538798 579289434 753747511 776170686 431950101 495539969 703044451 492185874 741765990 871354746 198928561 347913503 243239419 885975792 564052222 877443235 285196863 950371905 772005074 666958660 282295425 425991144 577240983 199141756 518249163 374142141 504071650 952100308 151338462 989152691 383793385 360162209 579199800 366222420 973779870 738076509 190484273 514844046 525549941 472239461 616361976 153766606 528428620 388196347 232949600 879115985 547105078 932934647 859786492 456589752 220347465 458955899 587401990 263725147 558637999 120476944 938130047 754698258 901374880 935345883 521251048 241925452 792926266 720798732 274715185 947463551 980004069 209806195 833446327 858552156 373098301 471239676 399658577 325124822 718500943 729720765 427609929 916206536 683063888 613156461 312962644 401654145 168486051 177068758 928747179 625399198 469744931 876373531 388583702 205852664 939983326 519963550 305194310 967312973 707803845 315053789 761528157 225032985 433449425 552311004 656045994 943998242 229426744 506855633 315308679 390923906 630989082 249296845 603734088 737596778 651616045 365500919 865314977 610282955 546101425 108859181 574741671 239877950 519916097 626247680 850648256 462981493 112461308 156090217 622440775 285937732 457091344 127039701 565706745 222276283 404345532 663614009 539558989 248106399 399225631 871702939 456459585 834226342 297303886 492480389 616120102 699799976 625460437 913706878 260423387 104212746 867964818 116560402 172733782 674626940 721156671 878526747 500475191 375613737 672275643 601056483 329262943 334226807 449819945 271620933 616531612 226183765 836590610 919723425 588190317 199755327 764090678 246765993 604284656 802345724 576901119 275500100 934930744 754035178 427130919 448713345 377498425 745284534 558633839 279554964 445723324 558385507 557356442 670784136 839213761 291544161 155981392 703224000 421650627 316771892 361487733 389991098 717712383 208052544 422509726 425691673 573822321 542503169 966867577 306531281 354876030 798732191 721492549 680824555 306986787 546121628 230684443 256473757 743725179 637738650 177273173 194043798 874379631 545555824 527210376 190559268 509152220 423245951 929243654 597188351 648595476 374443617 126925124 433480204 502555183 896827859 306104922 120474024 538752100 222645485 334553937 738268103 164142378 808060500 191261049 212969286 415732772 917152313 757405790 523558242 933330076 965065238 299710964 235305670 997962402 881138337 459195646 812476259 809984015 519540520 144324323 873720843 968311372 342986845 802335335 111360116 551199580 188873966 988835408 229190224 945921155 255869747 175563339 114587930 618892927 551639316 187672882 339430193 604546781 831583763 768910182 238601793 902810135 960102015 352598696 887257741 690203955 636027607 865383334 423647690 297195856 320742181 717502701 820714648 592540940 116074835 338755207 570821646 713311673 553889413 773955077 162124694 338215156 344783315 604905463 500658876 668915277 760969641 262381893 511189602 504509093 611758159 721760621 572294100 153146780 747743196 315947818 981408202 834994464 821548606 280376444 736832314 105644817 653213308 888840445 268689291 403994169 627166734 358467572 271944403 380752892 658672978 374570901 827075898 562327494 555982756 242176372 402427225 599638826 945597205 164314193 549392947 683324406 441456336 188111725 197855485 481757238 300665368 727120799 995018026 430980564 171294120 612843418 979407303 107235843 818634902 501979851 251518230 560742654 274955088 895888137 590459755 633435782 378797896 348740754 716766592 686971651 180598010 791471704 161011968 644054313 684800878 181146298 603084648 432756756 475283769 292474430 612114133 440778707 224298935 670547822 582742698 469528787 575819318 908893457 414213677 103953191 760643691 926679013 865452073 540024318 674201365 126305783 253661558 757458730 732093816 203225324 346706137 722116305 515291350 747862974 791963988 710010805 310615246 205417571 868835553 754404718 405792065 442075834 728063968 833211071 850914301 272001822 896027875 730838134 256691921 918680727 739796548 232733682 492086174 807588111 704333210 475211592 673495727 313004731 243518521 109890023 893774335 743334669 551563104 243001272 195260315 226534790 572349688 904955178 620475588 694936642 162374386 624627807 534083177 337634637 867225528 898742295 773063665 276725236 717927083 225471991 148105171 987697745 529901468 132608364 534114494 707741133 199591270 625129079 913780283 171583188 210453254 881470729 797821352 845281313 245912928 436492379 141110780 404140719 243955495 680228586 850102966 493626904 547177547 500479950 552477911 387420303 746068067 744017029 823295319 384038768 515824983 869890984 772507397 843161016 531336991 945646122 852402834 829414112 729091653 508366708 989125058 209387785 273799601 193972677 844702210 758731577 936058055 257294508 815920370 901443560 251147465 733396918 645860105 407380461 208855067 462548823 126288626 974690335 849342661 719499658 704142125 521161663 377358144 743908736 241143249 560113446 132941048 831390564 468702060 914179189 975360453 800892296 503771335 611165619 393319173 813300495 613168862 606699902 486634013 181240537 463149170 168862520 713430644 931967536 927598503 883816227 439826443 455768887 865319263 186820140 782378419 208278676 644950457 469234964 777931645 441787412 538645627 212132125 332044693 270558154 869891726 859179043 874766721 568785306 745251242 390465459 630123240 796073611 797544527 393859122 393647799 849914441 149430744 648533771 997434563 194763173 276838662 671511218 677374564 854769243 509845015 665641329 261514558 989411003 197742783 769061534 791404254 472332840 959631593 477343006 510050576 604988043 335081731 737661188 463304297 189909889 667797192 933027276 687544122 290662012 453549261 872408384 896827224 482476000 918307206 862235303 135215872 509502900 221372057 324894771 872774525 820134191 101762968 927331880 127991687 442550710 713074383 656369011 995211674 229394647 492468573 391129542 593836549 417379214 108609644 536962621 181582750 123456993 293002697 724222460 489909727 154397734 477849129 854213566 119708515 917906227 338878666 939321580 538883200 415655920 950184298 979026852 575090831 454888230 643828837 251913046 801952357 819878867 420348902 865548984 406664159 385726112 459799924 781141061 974350332 882031960 372087334 510864401 206713645 551343974 180411876 873038749 895120044 980123555 457013128 142926145 496357572 944307879 326964370 615440058 186325832 840673470 800335288 704469952 435984057 936319307 927746777 385663713 347108319 113879280 209156675 538653329 457424615 312708333 888316064 822755911 485865750 850443468 975934068 901652439 741377634 702489757 266962036 136765928 509853199 954491872 664061845 356637921 604424000 360555482 958074297 327991388 723018648 241755219 697117995 392581714 981441787 530578126 229882283 827862784 246074477 288180946 892491308 121346167 828603654 470379922 562099973 413248449 216036519 465994611 147100994 799084173 235994703 483323310 669348827 253144818 544781308 565585135 207873270 419289318 622130674 312906754 685915262 364069954 700931893 295539614 544069959 267647987 133684248 652840920 122253022 187936592 125500708 579082856 835383220 495162384 399724754 856154866 257518772 143076543 526993541 115796468 983751265 569006603 287884116 372965618 197102719 111971372 921612472 903377747 389774562 429444217 682284340 457478344 164602215 489950481 690750934 873242499 895606504 331564373 429015359 231509614 354722988 262485274 112001208 404641590 855346047 352126188 951622212 167033656 576366326 940678029 560814861 979503014 141651121 805388890 603768389 702585339 477462676 934917724 134541888 656564836 510308503 915266740 841985620 796031540 799738280 878171504 996348723 616352399 265683178 520160600 508706383 752827575 655523657 763336993 489061959 685223895 325774572 887851034 893696073 754456923 787788374 826659235 379551257 937764614 989790905 544945334 969463214 469985385 157561493 830037307 409998631 580450232 890945705 689301014 737088499 360956516 907855859 978109373 970136895 839310378 903560326 875323797 279109491 635217253 300206750 610874990 161178757 490999212 881872740 355677944 691624230 610953876 929228040 424088719 922225836 334991150 534660138 757572912 548812955 271663346 443671357 499925424 628561319 153441507 895599795 551596352 404991942 778599276 717097530 777088123 303100927 516096456 127978461 655302265 954071071 725425579 273106274 640758424 313419711 650802824 209679686 466709500 882174255 376947043 290990314 335194310 629833548 417597507 697623373 312503897 933975970 409234015 862678626 216005805 460644410 693408303 196530925 287825169 432864112 241802796 988673674 316796243 540600132 818864665 493683152 256330110 566996389 781347633 356394687 558090819 851879623 962021737 891533191 515231809 986266254 700236314 500886873 842694486 908853403 369324956 475626802 726104047 159907121 294801740 162969081 139034780 415955114 443647391 721373913 596845464 569265498 620529199 665215429 556674735 500598212 183295561 599987961 997041236 260558128 612839671 629528419 133726078 103675700 599906714 579171857 881126178 928368525 250214076 120068545 977255731 376827706 239349167 982519419 471839699 991074623 217748024 126257222 909311689 390070819 538841859 706698133 398157932 850618284 863494080 141833178 966273406 596496811 121618849 331310055 100558536 748738740 917148080 804047303 830518878 110007227 672026309 516412704 506067065 278653597 144775321 759490396 991282682 301436962 109421862 462087561 954442064 664559409 809115971 910357209 294724280 518102986 772796690 465992213 981877469 903113463 442116281 849770523 285185612 412726724 662353458 556493457 271874339 436807289 955023424 750561329 318935789 355244455 248059134 202115872 673425229 323169861 442024259 497731759 128653680 365860549 197918350 974321058 991956258 731128199 261479487 983520669 281308529 881739147 823687386 465632969 506950586 635530634 878463464 616571620 786732824 360532209 440544302 182065098 187349986 895705420 940505614 581222135 969279271 464294754 593767657 989600026 825553081 866462182 911752574 489019928 581511435 591550938 629733699 123241119 689079872 194403229 205294512 961349216 331010050 442426555 293178691 310345898 317001029 632981052 860585013 944353054 685948265 314403597 286626892 250831837 439145502 253407337 654921949 300293911 252926893 939002398 979833907 560498202 277436890 925005706 510944839 928722244 530528551 631135591 829439126 481050470 475497017 417432589 421457315 885323565 241221926 770823217 140536072 953300009 411005960 560895919 648325923 340501155 987714458 334910836 897735814 757153028 474320035 347972378 707202264 959559991 383779358 745099901 396428670 290800990 218435121 817006543 280769726 667505564 259058838 433830535 773325526 588896338 562916207 595985847 905212618 110868857 148289409 290872683 925574593 154027092 696748219 888338938 747195480 218352897 380097629 346223495 680449238 559809949 590414338 814975354 335156520 271663939 418773488 282257377 931501551 253051898 844958407 986103885 975167021 660627160 127905572 715833750 820642833 944589068 582578683 693042443 205876295 992917346 338200552 753446391 457241772 542773277 675487571 728748089 947131915 437708722 166938238 786485533 486796376 328776670 507923436 936352137 410358111 630636591 166656809 437007467 605830394 480012843 304847235 922946331 331949043 883197245 775100910 639733787 442658707 669616050 838466141 772551883 819038391 754945940 485391931 672631232 977554371 602855615 784898657 692718209 880070400 973638302 936748072 549280617 632187855 798323716 233682002 883638689 263382432 989936114 632791360 643832350 489671657 471542830 412576121 764079863 810250542 676814855 403117248 584454274 624904196 157324894 413787080 611413613 634771833 342341794 951373008 308711074 984191981 697030154 954272218 753180075 453325592 258572759 798432121 520388670 139210387 859155374 494555258 517969462 169385073 390385437 800387036 291968566 962668607 416799217 132413057 382879024 525952251 772518108 226318702 128215345 840423740 552757296 464895096 777805358 362032566 827117711 230942245 967224525 585063275 920755340 938213359 402013130 399749239 788717074 618410034 914290536 714846590 811917620 919475285 708502286 248104793 300605674 856277630 302794713 578173750 762334622 141672582 184227916 193437256 964584475 352314033 389761786 894560692 868258274 170414578 558710010 985409155 893097990 706620163 840859050 903800632 539828064 849711083 621083006 861135037 976180283 819485017 879104252 971384308 232592494 445967528 276984909 697912063 467362576 281116535 755187712 842838977 191658829 841039625 971390895 328063793 534683602 531785808 147379156 628951958 343905429 311163945 688643117 954643348 214223105 590558968 840705847 811441027 925794424 275983913 873356977 863567209 213601691 968741259 681936908 123417854 495360884 849482339 727071033 651620726 492154133 384015637 719195516 221371205 227461597 601898720 526698508 647587873 582938734 415782851 456859743 183689837 762768793 254582360 805375175 942105922 273484620 674768634 302852942 679592715 822678956 117784701 471186958 576011221 968820944 585375187 799449028 657604534 187220917 259260660 267930288 152377605 683835217 674566411 803802406 942012310 652261960 109608627 768424839 625412069 489785675 751292672 205398252 750917518 786525935 442817026 221397957 342033264 713311802 352823637 163831371 694739816 459886876 940547257 729441493 400034255 937958909 216526629 488135730 404851736 836709177 416659267 336153880 565704315 919281337 680801294 121246839 462136155 281161011 461230691 388412627 915691785 660929779 376140565 355170193 668811183 923803414 594149390 885827211 648206107 597522721 691843884 514126680 641954641 540266710 323307687 898964049 922537491 706715522 708301708 979896386 845329848 119556749 608492261 489994041 100331835 877085001 982056176 482458810 933117457 233267187 791327644 232534760 179796471 950046302 480436144 979374926 725153194 103021701 290356197 621321629 758146757 747438465 740206390 636395284 220404835 883280838 442048132 431671779 152771805 772051865 683560232 681785799 429506539 530848084 313389528 885526396 467537563 710563081 648265173 492022843 227845853 442432533 837594359 408948876 685049807 181705207 346838870 577097694 209849971 918228116 927736555 291467152 184170064 581226233 828996228 798511415 602628401 547471364 504722535 281063055 659999363 316307940 895085948 999125095 238591531 644135471 663378269 105292656 862444447 280726943 851489721 106762373 892076019 774044415 390240810 506542327 610333837 291071001 850364909 288495605 471209945 709728967 421095637 829531883 388602626 392375554 823532685 342182623 205849523 337675472 980244154 287474495 741853260 208305024 477007827 744492590 459827611 427035556 136738391 538392632 153581718 135048752 449781490 627194559 914204264 316734022 235491132 352311307 554445678 812701638 880423177 903801232 112652755 485108346 226531720 632970147 659532735 371942408 110825147 517084113 357112026 895294185 629304347 311960723 470163173 642207046 169353458 256627693 759755328 419748417 908792389 699887226 753714351 631191917 212706545 525945838 362246751 286824473 431055346 388441091 494029604 288150748 249961380 363759859 393178503 854493839 208988370 420140101 911150024 572653557 543788361 334971528 165698267 504305161 472895528 294386998 903883152 540579164 390327402 658268972 147060914 546724432 450142840 933676308 814463930 296749613 707486448 421730936 394703498 945552259 196447320 602520760 597415341 445050527 385304963 830327648 761683603 996143453 667696498 839457031 557594055 918430212 124015007 678202845 993744197 682357187 114965886 149702340 534889828 175773340 924809899 266472529 442709633 259128676 610413059 198950940 764187342 513816636 630757682 899604364 825077814 116335277 553155477 279387836 385205186 699232361 207385084 212621820 475981478 235148986 703000317 700598008 730293448 357978062 595591817 933370921 429761312 946449240 735756486 155125338 973845310 807911102 249062649 285751086 975843949 310552590 866883743 644454392 866919788 892722983 685373578 170245558 791652905 117541303 693726852 142655614 713943481 139668149 614266664 771367887 803845672 448181549 374373337 693693175 182836449 626638880 733730578 190109376 768214073 742806749 345101133 594466169 306787044 870968090 765248140 431212305 274773954 425368156 144288303 565464346 994756209 554228013 147841587 771604078 609568216 829257385 221488910 413070406 299795879 744585993 499883512 461527353 807527820 833609418 400893887 742240630 694414492 337587194 225764315 970418665 737298586 399740726 869528209 608504058 508531932 271598222 443611227 829008764 111722727 352307882 141317832 710528353 720166521 602527808 242847016 596364474 343350553 553322192 935557459 422973965 261984595 102366708 384337934 615034712 351734826 431790576 695676960 169216107 511823078 969671162 445783245 279101089 245946079 692403588 541992050 384254275 148490218 974492013 194605109 443782754 456586941 274804156 692302119 994354223 593337691 999662101 848197451 199073079 706285651 214121821 957361685 281217965 209237853 809906364 649258506 543091431 284693518 854103172 512093004 522446636 865348451 660510599 588058378 263255697 959273656 427845390 702969848 656121573 557949499 718577046 183154856 538405697 643813911 672256961 908086509 577004250 738041785 969543610 581412760 401094371 227090859 534922828 948979684 637227286 909913203 964796443 940136995 236378750 500384552 628052204 493647291 558949692 958817367 119152002 644332497 998767983 369648236 565201500 190542429 148670245 770391339 889655854 933734141 396739634 855632220 638060967 741919906 459309796 361928808 396802283 227931706 140753939 861729816 110749970 174964512 360286375 708393318 742352988 753359899 841362396 186279467 231305254 614816608 447044674 735882911 162981053 551516166 454111248 162798134 950726525 667857248 997935838 992605430 414474708 491924004 172961822 276862499 383235258 844703521 761339281 961634448 450918038 496303140 943415290 339505406 933943264 699723153 895815314 428858876 288999320 599287274 213210158 222006111 941482482 397977848 884817955 630538837 591219036 599346511 370601051 205177687 932921839 254296573 809265896 124525975 213956897 101948359 267030995 552957081 261761319 996376151 718538995 853275806 176578969 813818671 108054331 482284827 251588193 272604756 947410696 627739051 658584622 774213576 530878372 611538673 256197293 789124264 573517999 763629068 828070612 989251711 300584127 862029926 875914146 807995497 159703397 604356580 998097238 296150815 167776692 437876707 752081087 210386941 487365489 298892538 255043908 928200797 330839247 639701402 642924386 807050129 133471091 515337029 997602599 653714799 889564927 271869749 946399153 753083837 546911557 261586390 941487183 229566674 952114466 674236904 933118790 131397683 136799736 307450069 981965544 427585201 877212711 988184865 376299154 882933315 379786700 637668817 603740323 231575102 321551830 145609460 571393715 646751696 287090569 204772315 591226077 302116476 496767983 951582157 451178645 198836377 141924268 194029348 562353677 261546258 939485856 777208093 379923419 480139486 904943469 115870691 856163829 924191372 938932571 359672199 146002968 997783132 329002064 544948408 750069970 616791943 401178082 296302336 211272989 197408270 350667640 447179862 592716982 644983747 889974587 888875850 798159515 170901751 748576583 663784592 132721933 942514677 789924478 556774143 100171231 522108754 561649100 256055712 610240165 458992379 170532158 359287818 155475773 128217388 389817751 687517110 889919412 277338171 980346077 980977980 850121205 981716535 667257887 142668888 878323790 229742165 860637440 628659831 517708334 896689171 218607840 672823282 757095101 362539531 980602713 283999140 314260826 982760469 788338822 846245927 679462241 148084753 244709970 807260970 451954109 219443352 522219423 661661270 992864473 769140421 275146033 155373139 973526546 797491907 206581712 932882655 924463060 585724671 697753295 575097472 750883442 586847764 396007589 332064877 929803951 331510864 790975518 186898722 776797926 171224785 402424312 166721188 350001748 970059698 237990431 485102715 597818781 196296200 175823614 893018370 446308861 509651101 844103953 193839710 741187538 964872798 704049043 851492725 214845338 294929875 505703955 356370487 360989581 840730193 179896397 141585943 984290425 223733249 987188951 569427972 573673259 304666108 345218785 762285946 289085285 736828970 858742539 183455200 291628340 213078221 202543678 216898059 377787608 189252546 763291126 369635638 867453065 933288666 920516131 282256005 443645954 450068179 382337387 679601932 527531785 600623111 479117649 920626831 445719556 668834998 573590823 252177562 187239833 720872393 106953901 776028628 535430016 745243185 503967750 355852269 541201194 572151596 784855643 826979939 776974002 829355101 927996752 158154080 867135206 679817089 235943817 828913617 510287313 834659241 922436837 184729040 813201866 986303965 107692290 822303208 303148362 923901471 341461373 469229962 434001888 882832792 881741041 853808028 473209054 601797595 779254058 197967551 480719440 333067034 521676597 838535603 338939582 450685586 219772877 180361336 238327447 515802413 896334411 252291369 329920597 506690534 739993251 874988912 395815776 346893775 438584899 439929099 961312043 307400477 234518977 724402597 211240724 567643313 165423816 890356298 979426312 307577986 406716687 819649171 282592753 971867120 193860363 614717402 958243020 859680289 128964092 545982901 611770333 301835482 834554334 276253314 970470580 524358595 812384949 270441944 852775912 697791615 551486370 173302692 273257441 334507233 503409765 442360785 106785596 973085309 451626750 256650685 169586987 156600365 649159157 118686236 923786240 679323806 996994274 565358853 610173589 519151103 552774434 852750081 940281771 785394262 555631316 270168669 111166213 595701169 753802869 795818171 128210001 233368793 669580501 723062595 166616290 302559402 545700384 208937052 442885029 399120752 649810676 266596257 132351971 987806084 498708869 895859740 312433040 727652152 461905237 867504449 893687229 948197257 893836102 664465610 774012458 940637710 299462732 350935720 716815266 153939322 121823586 901466759 585712631 138290895 199162618 113059673 578893705 145786656 944443767 621517827 353880093 277732905 977391771 415189285 953453483 476844286 703633193 632261850 260719433 553200798 731271005 609953346 699830089 566183386 330258814 120665087 184800383 457997506 991986897 843416551 983514971 217147569 528064372 630245783 632844773 619239730 552411102 751485198 963959989 792470828 512002048 802198363 411047957 502515116 613851647 744473733 869277752 358597021 169041320 730236592 442896241 832504887 630902204 323028866 726434558 919716162 906887617 160525352 764688430 286250120 685759714 165783433 494375210 868279290 697460985 299412613 880809390 491798068 491689320 604772328 210339646 809161157 381416589 239628546 189007184 618177758 623501530 344474833 731213878 737513132 981699503 581836279 394153198 235129689 820364340 407297821 681744338 249130884 894937425 570033072 516152983 510141761 519711494 864717951 265578582 575678254 218081331 785266841 763568848 131953020 281033508 495854576 820538795 325736830 552885923 867343121 613069805 710978428 987083830 497822185 551826117 440079709 699941255 770226757 635679597 192689965 975527809 847792997 599559366 326736082 116900399 124920887 189403307 759886501 124422585 103135071 188108515 908781898 864725405 488739978 885077418 238166630 534661688 913844642 405695153 881900425 665354345 219879895 140395341 264102988 607159996 790022511 182300016 160734344 865662658 827629526 519658752 517290351 805063998 766416126 978117282 323272677 667021888 854136689 631899592 470938596 829175415 581010382 716548177 354326368 227782384 176323406 457426462 745649445 505691354 811843979 591648396 222393593 216301787 849138072 223965527 212140567 307038668 800202855 782397840 463183772 258177873 125935335 121754713 258478452 606252372 125269223 911861003 586070854 504110186 838112122 688045678 796245121 114525351 870776222 744458166 221634978 324110136 849488215 102333662 592737580 664495247 515419071 571327617 646998691 951883852 517304807 382148392 515769718 408721796 421798162 853237064 314349341 104313093 913312914 616751877 534028846 101634832 915489086 516424622 346219782 475842633 194839869 480105917 848542475 975538267 170722851 655945603 724320533 290214453 939869883 566402854 219242439 632785480 471286476 837232412 642984270 891028163 258956813 459541632 223544312 646204674 669218330 340573403 116231314 944605660 969521537 430707966 948635351 332052622 876125639 844477135 535506259 165832102 187758692 157920219 753319585 636754755 581105149 863911509 606430843 895783583 699644682 750908147 682051802 846045459 790192330 215546242 852106193 806612049 146068854 819045211 850608837 797202475 198186382 266476243 327133899 348879612 884782286 260408119 370016836 500611584 665123794 231664890 574933498 638889653 981983851 139487170 322136388 734455460 640067969 376690585 961857193 639245157 388927127 467010659 683747854 902362732 111144411 161010873 324386523 663553949 994683497 260819044 480297066 965904629 832508924 126376399 934993768 928564923 242631838 759266939 286291777 870025534 954518157 396908305 523856872 175271088 563083289 519968525 594319056 906012864 255561529 512614944 489473549 422142106 375862401 844962910 354836043 793085268 363696252 676390500 282459612 744182416 968701374 467858663 738164049 897225545 107299666 840522982 913806624 463064681 881317918 648573891 574019497 835674716 483661726 821716546 291011218 415590210 563416584 217377089 430059912 810938380 842092491 432627496 630020837 383848199 592624992 116068483 331587135 121762831 566205601 527028128 219442803 103703835 341184493 574176919 835946794 696788804 556591283 462997930 384612110 273015224 697232812 115461616 185798402 747286989 435392840 391948461 582820862 378764690 417387271 469891783 309096473 571386953 433611577 271845158 375502876 843370022 688215887 997870576 187911548 546869526 462228753 162687389 232736876 158441107 335376326 948363128 251732027 286265274 589132868 925861980 594805726 553964222 869455843 915987285 105110460 880893213 584957397 146105297 768683649 184420803 568754026 160588959 403231639 379209099 879177263 686920967 783562140 194903907 605417772 366073673 545353884 741455728 386581916 107671609 893978686 240098813 866600504 517196624 436687073 810914206 818264308 269502590 996123221 838739665 726755368 854926285 888176165 283016958 357247524 441528936 503391184 162353276 347216377 196627480 352603702 291986844 191898075 867825857 284220668 462457858 444007046 249348624 170464536 833492949 858719354 343883848 878911965 533225911 521264382 729801311 598780415 522085736 241920729 820052648 521674317 252183999 302776390 397716438 528138196 573929207 957871156 684841964 811717988 640050461 411026919 213777145 247069400 700827673 982202931 408096119 887222267 377555824 729222992 991161468 273149411 403132417 718526438 391706283 826548310 960502884 634435600 673150018 310615646 210751256 760163262 641071784 839866634 927680354 251468292 697546927 599194581 487254250 467997346 917173683 748071538 839711080 918095418 533095250 865244118 715608818 893963498 185970040 630659104 362952817 852094436 829230466 766112925 649039207 836796767 918196355 454666094 789182458 422725536 535814778 532310635 765945438 140811590 915271556 290352008 627383946 663912132 608128222 428569575 697284863 154846124 127501199 120240026 177037373 492661498 362423154 243164487 875787394 663376971 359870963 917783931 866524709 871657983 381593268 158147583 954252006 503729994 228435833 330239430 847398728 106434009 846356551 228670653 207470873 748242692 501578872 753874273 840196868 839933901 228534167 684461302 168204723 590594283 955351255 220326058 617164454 427420731 839444613 439218377 132513334 973694749 507658235 533439578 815513322 531977868 336578246 521264712 362233262 633550511 520268536 780253769 201137856 634645514 811839888 389313033 568500075 205892040 934713824 572668557 553950596 234025004 819901553 570798499 626770036 103575789 751436528 150495248 632366059 358683349 392094950 382327253 845543961 141968392 639109758 749095530 563236167 593080542 478506589 533684381 796509364 328667449 438042736 222976264 400017215 816713105 579529466 661764140 380508560 997887952 938061786 137408041 745970381 481212247 214594341 377681001 609253750 479334937 792701084 138362909 487453917 565047012 497543245 510510062 582733238 155226866 944611608 124583557 318894222 681723581 664744212 257004121 162809539 897013819 975774616 933504426 925162903 398130607 918420947 145971595 503548909 652608837 507327403 778510079 614547203 722021759 153859800 255179925 915099414 415334941 312787860 840234130 698586577 796812251 508475608 316687913 527837483 436642771 478447909 858401245 663259694 942389051 553781533 512139618 374464978 651884356 760782151 938882302 371841860 739311734 190177192 579352359 492255576 424813453 107582335 534055171 570327879 339240114 213992220 164504388 546078175 337081776 392269963 551906636 100538783 547912301 454339884 460183060 326124728 525147225 150129812 566661760 661484308 858305060 105547568 118886782 937071926 343646553 656399676 879065317 742284373 174363323 694327106 169288425 955112645 424941430 152612764 308618653 123972543 948752374 845191601 411190624 524364265 850177755 183259728 480090614 979897871 840338945 653633874 601255606 355748905 396606497 763216708 563244226 689578725 456695845 882746777 511021046 476268486 663408661 254950950 355118063 993813455 418957632 160435745 502235380 927492191 365665159 576354701 268631404 474036573 493663841 520612714 708612309 735522157 426177050 491153987 530326213 441884247 296898065 432625847 890093960 223336899 980289864 245704316 897556619 594139224 255693110 782571962 701848703 275102489 792583360 619245489 245987822 555727823 557821932 917363639 476944337 457664979 582227969 496417135 520239296 499688208 571192794 698431124 362322488 911281027 190317122 279461691 487365714 905663805 637602264 775249407 199073361 683456253 345920347 533790886 878600099 430095095 560346415 437215387 433332610 964201646 470501076 776654704 678834040 890151736 118861742 626524296 538007802 703422978 652629910 352943410 229101217 409431871 992289521 489121717 140597464 476074715 272871525 492259743 685992066 378479303 478415690 414282773 267555019 589212618 786393517 295375837 912283019 598303641 348693114 949134500 660770783 429671395 564930211 841303117 265106959 771410802 859824698 626329379 959480750 892200274 843955201 274412558 620280716 303978939 263162599 724935112 366466459 491034430 451514887 902413643 712357606 437344550 832329959 630090838 249592160 342739435 483971151 618786611 859611151 528287166 952221733 646573431 166144757 504844457 213701193 630930365 848468073 140646559 118085966 270129525 241196686 298667821 392224286 617703239 181044539 648233249 943794878 431006348 984425348 391566350 736424778 215427001 551540414 338953132 438277804 973203261 425079602 117123657 206518776 560337788 109679548 882078925 790789093 974260576 578476037 678151244 959548850 293012057 726873692 364989392 251568841 763249122 109864531 605957424 992158928 289703759 521595671 186112970 936780654 956049519 511002091 254651136 587034260 532410923 631899223 829612625 759930807 956821254 713333907 842151829 648463731 385009044 253687133 754812751 567078747 299706077 138426751 699618134 335927771 688671009 934244459 267458446 200873775 544741610 396356909 617105042 433219779 131190490 154986521 788475635 903579129 329194060 602573541 933345058 589822852 110119035 305580537 540736803 592481360 198423444 602794395 200246532 399590962 587216712 822350191 150274105 164665125 277910135 997600065 142994617 412368996 753677656 343521150 337187881 827920777 362030901 170556097 866951250 525426167 917858163 293906647 784240694 442559941 681340204 510614181 389100443 798653230 903758598 374644070 253557529 464993203 527021393 947603816 429311450 267771618 935044538 457162447 714817321 961023415 875513132 361906924 500606763 139961645 430033354 261154125 615611792 355569920 613508081 289925961 254917944 614060275 283356886 261241089 401702449 471130726 552771243 289469824 467453701 919174292 332085684 972395585 802304702 945182541 551830350 948085342 477957250 932965491 195599063 615234624 979965872 190015340 684727960 728849946 443959835 622222546 135456823 975525565 669882105 123739563 637544719 275068466 997242534 306689478 949415632 881376494 797751252 139361009 761005917 311272625 611318000 612726344 185713558 695648107 100513200 797200432 155252375 412820510 582734208 863436998 185098820 906904947 768788390 185921032 111435468 151747238 958925487 718038011 555531498 374224775 892150784 611174209 675569804 387011966 704322782 288596762 413201394 504754502 973197159 552919817 170050375 669785137 160255433 214870053 381316712 203907414 350482738 879103007 844448123 525507990 437353152 253833780 354694272 964047691 114537956 889639783 941444726 941061085 157020867 906675027 818529451 431728528 287359610 747748239 257252905 156226151 880246235 300579037 113120529 234855733 964384495 563015931 976103199 696939342 718502768 815607996 765732261 205136306 129627898 501736921 300128643 295873039 652442282 489451575 511840652 655651494 569306306 313678476 553025770 929348008 443646079 145356589 829444439 165358643 607823414 517305506 894226255 751369444 989243920 235449281 332002281 355408196 289537480 573034813 439577551 305041018 720117705 621728084 732934169 724294950 703768144 570024053 838264645 500537007 763926709 734711958 736386224 103423130 407116097 231352867 788928821 151630889 624679973 134721795 890182258 765978512 573970623 908645346 789228890 616468005 386241745 241347798 117256333 663229702 207424026 261052789 344440107 387384917 170638525 344812340 815691542 876761543 106166955 564355478 553773530 283527638 620326504 924968447 973228765 789955433 109789259 365360155 179808173 266634043 954137876 986815989 190156143 617995483 804620016 439318723 527927379 897023780 197309264 150818294 464651736 772927762 200132887 257380800 161632004 812410240 291650633 868962437 885964828 974379812 591532396 364400354 291567841 867678564 557010352 930923766 554262252 190254917 242874873 521171579 915515169 762668288 443145073 120774534 142024151 675701169 499737797 610920723 241563026 856236942 421117890 295010280 944233402 485419850 187546132 148150301 138676085 153785826 452031372 278343900 258109429 115978648 605717072 356489164 293695615 487713537 557504318 903140721 760011382 642303062 118632157 268670923 923854460 223057324 883534062 187419951 389660865 319328520 965709070 351814977 654958118 696906955 500427301 230377466 473686214 322103328 736903868 176441163 861097005 829133783 997767851 159037556 931911253 684933588 384286839 629881375 858045215 524154442 765352154 250077686 842304482 530911866 196395666 973967720 738423660 531296576 601009341 370804119 741616591 725256352 650422851 987174873 185217816 168692665 238713849 987006058 111677588 498757805 385341272 588883767 949438856 403748568 805710276 363813533 799343134 776816762 542800490 191559073 678452127 938683725 741217078 663948549 377045167 100924483 399438172 845734734 204157169 663921308 314422516 711181391 119799624 723169484 475100778 808495547 690085802 249302804 999951857 339127625 278139973 154332958 943694380 820962536 874188344 658413806 994738837 991851027 167020659 515609305 371071985 478318985 757283694 112735704 494047195 466184260 839213201 480606222 375002126 477535479 444716933 706556600 863324659 841474986 305279060 825552708 671338352 152874786 170952647 861893554 389187333 289878923 889077640 105446296 881430468 667202187 944583732 176022393 421779569 700807536 532313443 988340256 626204660 782457250 445994800 881656459 702122589 323676248 731198829 980096448 361561699 245314514 279304244 929032323 444356057 674572255 158350193 767097779 990425121 859006282 337135309 316302156 530985885 822033328 272542711 114329575 400983820 114520161 123986901 833453791 231753003 824145267 626380683 989538981 891175601 469719875 251055875 372568886 388511540 500373751 104300585 224138764 877947422 835353062 859826816 780753891 495083589 269261086 572823352 553125652 350146564 248361894 961490776 515176505 903088034 537394213 320540928 394479380 745571469 873353761 792703030 110702651 403190880 432047561 261189246 443530465 358153832 577346797 131492397 710614539 996274866 804926039 909191313 643122534 960339911 150721657 622590142 143785037 652799498 846618359 645690161 427288375 935895602 613758842 713773082 210755767 294000061 804871365 400002398 842172020 542506980 782995022 604063213 471864966 770643578 928542404 808603912 810105976 876669879 153078381 130425332 208348333 391463356 777203931 291426687 513600278 686695536 414000170 496371388 861590808 888757912 276426584 722172674 844850091 506387071 613361898 463542182 340846833 958681515 397119841 659642893 863447499 965272925 613724166 105358457 251381344 189324589 515971658 886187229 490517657 492742640 653925716 818730740 427789063 839147844 500264168 825987404 412897671 893160418 532266221 806438687 676573308 393339724 369978208 582765959 541868827 190562261 897932862 132826072 889435084 620704201 491697992 143689118 381187105 810960556 128329993 342769490 516471706 711774686 547923264 722294698 432799798 197775185 665772517 700967774 911322972 808694834 161635324 277586164 945635897 815595067 612635134 876489259 806863593 967649759 738574189 900730334 614335936 875827577 639434969 568484015 439759818 323732710 137974629 396838650 819834865 504604806 183040766 922634479 329318099 356713375 715311212 449661854 433080123 408392189 921926849 462967934 384043363 595916673 650632947 155690095 781342146 664102697 112876465 667071935 431950942 339326790 992087242 991904137 236205073 944117672 703926149 506835435 882973921 829376930 382724354 519771397 113300846 356421065 861602880 688039319 887789158 446267113 647877577 367368099 176955740 708024825 861127970 908308722 255184156 347374948 118819740 893478681 382873333 931979933 794937436 578727842 896217680 741697612 463810851 726452690 526088534 547691023 999191200 660771869 635541432 729513969 247826380 496618057 161764559 113058575 113718890 298736294 222502478 782508509 914168071 139107095 671826413 622818562 115829747 392384151 644143140 246852806 548227526 259428522 880081284 391999967 430991306 409063861 756961803 188876496 367558284 205468634 594379416 272357447 658903018 116206132 286302149 148447146 168302964 521854722 370877585 509078269 671749869 690258552 258505641 130804631 762569508 731090115 647183109 486901701 417502722 202316052 496564763 608636374 181271769 112210805 437395052 277023753 577540544 808498587 649948326 729406316 772012967 244381374 229729391 106339610 705702306 642346966 756885392 442784813 830859625 583103695 425765429 235959313 339929413 483308782 277459028 451788070 837586040 547169418 454744172 615915486 615562673 582439066 351173442 191528297 630759733 402282698 496840965 531715023 761262304 975041928 511819478 334499904 595533629 626672059 569378193 229013492 554386566 876979712 733227580 437348401 541393587 507432694 942950604 237768258 526890354 778551547 673835240 778946304 642531986 538025248 805596854 593239200 685704538 143305132 294915461 747937863 773051524 741434043 685958666 417588776 125193529 817351964 226717762 595074198 554138584 762945205 353910604 943715205 101355912 182484232 754325513 168067436 615485111 950014106 836944089 485270351 133775705 163247439 608615886 579963281 921781662 673895852 126895830 669509550 829149040 942600342 358885466 597183967 797127350 700548618 505389308 220158162 103784786 405323234 227739597 630948161 340763853 742642835 896383386 634760679 213430171 120601282 656950728 810100357 163659089 539221632 429251713 846739916 118164181 928930772 131786569 647927024 329974821 757694119 819584467 409310319 982079671 610450102 289392219 608711131 286203257 377571431 677878989 838435954 758571057 152548196 239251903 411084242 324400260 561717283 697923664 785126929 159180380 432134066 184883006 211489837 951330720 791655645 732718774 910918854 664328503 798623453 107317326 175867972 846086753 261960256 299169483 288314075 842053710 358952859 864742156 217654993 721808781 121636081 929254846 204901353 916794050 535883539 472586798 312863477 342969780 367411267 609544959 824509385 944619657 473309674 547996623 600703880 527881579 826217853 831443228 950039797 322723600 848719664 552335125 163790941 288753826 981236526 310802864 444278295 105357270 985829898 740415367 894440100 137484613 421988618 333975173 711477622 205171635 522102951 432303499 122922346 145101984 296345519 456608431 958647962 678283759 457120328 752450419 271067115 100877700 808229843 707482321 107206246 268278150 567221716 816782492 816520288 699321609 339549895 782876457 606761006 225890765 239014082 538307927 994094455 842264870 550666340 873220168 344524945 269115558 256441455 973478080 810323447 707348216 931741947 400289505 254237378 770490440 166100666 564779320 130564414 919025547 934037732 273371062 445043838 322406967 579554364 535310456 589092171 784711642 147370596 801393322 270149107 613088005 601271896 476360857 563077120 281685650 335974131 536250729 391889791 188648224 707100823 731272183 618529488 741931623 394592874 579038606 138783204 798347943 849378189 569204182 260659758 394538468 898016056 434506709 144248961 176422971 926105777 888385735 233446906 645037702 229674500 345332856 507926487 961708476 307873781 679934139 553291755 238481442 167933450 109898017 762772216 499199813 419668014 380877807 180836483 299212612 962523893 657704170 658347779 440791704 450997553 661614788 495193033 218190289 239942609 425973709 917836785 621713651 115583073 671282650 606214588 600171894 203858234 695901698 883308986 953963425 759555700 450594279 533220681 910171718 585277399 445042698 857922239 277678201 206987024 470217364 493319980 161820659 115973498 939900203 988674244 988859796 589971538 384371172 193570785 950659791 684084277 844283044 185629406 257229172 541335070 814003427 886691081 846454095 175227626 779309251 777408079 953729778 674692195 555356647 938691913 111758174 947250142 290295806 385300169 384599475 981445647 434943487 766322937 604579896 374154917 972937967 328233475 817161138 823806875 258646927 338591307 840338812 222249725 854350326 665618521 295221530 251008495 141784086 581591792 432858901 317191011 886433402 550641823 422194957 285158985 927670129 290248491 604087323 884547286 603422969 849201257 348955298 147224996 795838073 249353057 233907864 228415806 684630856 346855271 179878553 936719256 377389473 146865195 857316087 555629751 889414861 761650340 444771679 505410603 215594472 318967185 553382931 819928768 241962145 540352887 365152401 328839750 192714157 931948738 582552665 586939664 446664961 640403075 147950060 216662423 107561147 555406273 454353208 419664313 401744821 139716175 949186715 783754573 870614126 248088990 180163367 512253207 102308554 931902908 688435490 816866068 481376166 752507653 397222495 175591903 164393036 229530397 141335487 194712742 660596146 128477823 238031208 333733481 342730074 450803114 502759396 735451806 142054851 771968509 530126113 102373915 761290293 528675428 941201536 601135613 149517180 119426727 422132035 602445578 438532551 110320082 974633745 964265114 657039448 814094304 807035011 126522703 904529663 711854027 611237571 656444970 667572360 633894373 791328930 856579948 396103939 991107395 552408896 469159612 250112236 600786695 175596981 192539463 821939054 731710322 653195570 650033889 180256015 508598052 692803115 530902801 401099733 538612709 808669988 945315987 240613820 512622230 429942396 193192152 221781787 960066452 682254264 301178127 530463587 587916308 691347093 407918906 562560627 908222572 492171977 856343256 595180397 201067634 796346635 162703999 517201847 567006670 185240920 205860291 275833715 667910368 802950492 406307072 424060258 529201445 564525119 669560882 317824697 745840731 453660792 826250741 217601680 651105162 191252536 244571331 129761695 881536093 930876775 302831908 447265158 590501451 262995614 236154543 774218711 759095864 570325810 972438989 494386474 188268265 536813572 174595176 784528417 379625146 605234364 907003229 437693457 113518630 222793642 404393152 833014114 167777774 305974323 627055493 641631105 650676116 327204476 563417201 328367447 489837601 665344917 115027065 159159042 356840203 265837735 418080695 717376069 598858587 116446587 195945072 273911179 809387077 657429994 787937458 841865661 210569803 318469062 507192578 487355180 339354344 435460369 768898962 757558810 895198106 347427166 868798281 457711596 896222518 844778365 201345411 801193996 804937928 302619576 181085482 178794470 780530181 835545933 866209631 458073138 797029976 553233362 564975402 795673143 430790354 166136821 366830430 255217589 907235697 106299982 981391050 441730509 410716871 101165972 714277729 394916837 750967238 904546371 214655179 216703839 270230497 425754208 914358201 672178803 235952975 247745251 118954623 223611007 113656159 157195706 584795347 630024574 651333581 291474759 500643378 902422340 819919516 314213729 193026702 181665074 684139061 291378553 833000708 342703084 213850487 174175000 686761295 633121794 415875995 438096623 183106086 679060301 268826000 495646675 162062538 756607578 343042339 268687653 513166981 384370967 817882222 465958447 207627978 145009004 639717943 325825369 100160460 396921682 693485435 710422054 548176722 178570507 268143027 175126561 896767056 388372208 847379913 328650800 270427719 845622445 956457481 576330498 810275388 330283966 154977057 263886723 870681441 289640165 658331448 771714171 480628669 940413793 984221548 581569665 586631030 638738438 729806400 524326312 203146633 149758191 183475937 208521812 269093017 186822044 846108002 358523221 602651567 723255903 698727240 753827452 559360145 210027892 192735480 288248495 485781563 663588695 534024749 826449476 800325154 360093595 267251679 909778006 867106070 247665702 440560125 944673117 405668745 259896224 793127722 874263703 596220864 595284911 893898148 389504136 666735318 824045743 261541613 659913278 227513007 682149418 122682113 337212966 389668939 807744643 945069194 656384730 414728449 607002770 920880532 475013872 645509625 652164741 135221446 252040197 233117827 180637008 307104388 744354964 179280817 595049896 479641730 163203192 484316837 385552180 590846464 292922770 673687577 490735160 601784537 364088968 828711658 521415670 726404179 645389334 290694002 343170669 339408788 171023532 848871535 892832488 702315807 507377772 139657496 741606717 735205906 169467896 638454716 737431247 956986529 167208345 169521618 601503616 559134324 401586247 738289603 170702528 881653931 447552232 827088403 862260936 673327047 695529977 929162866 903554321 855304164 298352856 424814132 488277454 938315778 566553612 583111953 756049352 510815976 930759172 859923049 236248986 228178446 640688424 285809119 835721879 345346037 263272476 233542095 278331114 971305792 273119541 898805254 784345387 209266685 964735836 935512681 704339570 876651222 326774837 750591866 485852863 897827760 626253720 159129565 887432159 286929130 285793186 849432969 679415846 265913451 774212154 789430676 136972227 374856040 326419052 496753999 429306746 484683740 306742020 464866307 855036832 391603148 695354721 864281289 842558293 587204025 401240955 104541359 697240110 387683286 487715576 551192610 965797091 510118471 999168186 404545115 944242187 735023303 531514326 548318150 414281652 509636771 286823340 441028108 968512422 305646424 217960425 889076818 988959208 742544527 739020845 880131927 298643539 938669093 831717480 146305944 136572501 549741539 114202106 590823143 655836744 179931038 227472175 144233354 515842294 216495028 498210051 130092058 828755040 425613701 417948149 799250217 135425442 446740542 867226821 696739026 629921413 257995884 818937239 444693936 837311563 877712785 396857455 167300847 677916166 592879114 671868760 549791331 343463623 327581730 570517780 386933708 496078010 116450498 360495567 663633552 146299536 117114744 563055995 522868346 582432864 962381144 557565561 108183896 935108166 978575167 419161248 579565173 604513927 175429619 586480751 505912808 608650140 269293941 878284099 668946366 302646532 177801181 892957851 126912865 260678297 768943975 263388582 164645748 367482489 269982491 603627955 210011173 852073626 620548543 666609845 849378379 147107154 829299312 620791135 784717164 502728975 777021221 570470457 505282588 607196783 275822018 912143752 894876035 732645907 276593535 735872640 376207056 924308691 178006619 738781029 649053722 112041523 644705154 245774540 922181550 282378205 232395102 387703083 195025696 578680740 427106497 770691981 833603199 881221284 615796686 955635130 570782338 284752625 176894952 609355455 756621395 529672303 822995286 275526166 906414860 525271023 885951918 382585936 615904106 964452515 789507818 195406547 258089236 104791852 321440717 430632570 530138055 918928298 891804072 977983900 390457287 521314342 823007920 456035971 270668206 824740395 305362017 331583002 862500624 837999300 583631719 489379974 387389973 651336008 332596356 570933293 210771079 828238651 799339673 937361651 663522962 239042689 441776089 811043845 836751973 838343232 232816260 762357252 804728713 976359687 995096856 684560274 663310098 864496697 480329552 445880358 415427657 384094613 828247496 223549585 643878483 885741854 207532547 249421782 952840274 393442373 285858562 148558313 320461276 335974195 767673578 989499392 952040885 527939689 922666437 664258134 914926517 913548645 763519723 224428688 472359472 437278191 780484878 530081886 207038804 401303054 619078044 606495278 379033405 386574633 140735035 437915950 819930157 137246578 267939392 608263418 379666091 516384301 623134931 370610540 493447612 247498214 894859563 376020181 471335001 255424294 877550062 454845919 712195975 225637598 334171704 811579521 113777447 598459878 774530317 207828005 872722260 966401076 101656544 349817688 256301168 600952780 772080499 293828555 629417475 443843018 222476417 548865645 118500063 354077444 266999033 989350914 856187590 970512306 326917350 111550860 713441376 739897134 978430442 919245331 601397927 699469030 501935182 213005473 108444024 345609282 695228336 213385694 569367547 742931394 231790158 913874584 451749293 758129533 476615589 635994724 985759601 121596080 366541943 101313382 661584009 184174772 873039445 991153979 609083037 320954079 960329890 519186623 344798667 702321255 907528818 917204645 462438898 896741193 954011342 936161504 980684367 432199654 788192476 479135437 577984659 408267489 801697306 693658249 612723961 918672986 539604683 671036811 475024116 132988282 678473582 745695461 214571036 753488544 710420724 760647807 334082334 980164653 815244151 897183770 591087263 526812819 346980001 975110687 406414363 173376250 519417780 538343213 721552010 122832367 156102989 159709746 123595655 361475979 532102575 146363623 743094340 709389223 173161196 887698070 566568460 133552859 165160291 133455499 458109852 109844562 478928815 444879388 693894144 721231181 986459909 815319517 301740578 794219778 193439841 388104875 126946047 422784853 181512102 658270225 169104262 946464728 613443672 961894974 709090775 191961838 383353399 544395238 308459737 287308969 881770691 304365306 485141228 540037268 310660821 280932473 945536645 955799047 704979557 527170562 488813651 143645830 735658304 611853065 859920302 156286165 939993804 349516060 483690862 297572870 866884777 462039482 391485022 530529693 876891090 876586854 848078991 342130224 556274303 656544095 134297727 808078234 874131092 570346472 645107770 568872235 530356665 894219772 895858204 352951651 132774303 930442011 253658099 727943210 453182280 831726462 704388333 384400967 813649787 156806715 209110057 901653162 589658371 716871657 236178210 758370666 626187183 976118382 169274106 909081954 219207427 640530053 911997032 845753649 235609861 713742711 557431048 613674451 552942731 449132166 322887244 195865237 381526662 811549433 845138692 438583696 659604332 332011703 608936387 744488638 914230518 453825707 477983096 867760996 262135264 503038047 405026015 816181140 961577725 679964417 847067119 246334439 559642762 189299140 171016378 386007259 129669400 700086606 980996209 746485801 338902440 240879015 596405254 477973955 125350141 617411791 413283174 438257131 101632829 199254525 515049577 193430038 203396015 782497765 328548706 194133963 734790407 665098465 511923724 603942566 947685440 816768538 303157788 904298939 317017610 861549416 914387401 109490341 871050451 986826324 697394341 604138920 868634175 236113170 224002585 350754284 184987617 983177644 984501266 208241969 539307877 554472612 560560037 670253637 200519797 715737059 814542938 142607125 440246629 291631032 299723661 786947812 176707404 531933335 789831787 233580883 622003205 965634932 181534313 367939213 528023224 845532339 340913653 950437315 306392305 777237740 449094284 180770260 121694038 446467702 695023765 718140822 804677833 487598364 442955654 974326967 300804527 711891191 416723691 767882536 394907099 498290336 410749946 375816537 839075731 812417457 190866025 518845023 806795667 360621570 792739159 574572613 678094999 777222979 889623920 445045105 325920792 313221095 575776370 978199374 621555502 672705551 660826076 202801957 286340129 617110673 697257710 687569807 732376453 844900257 730863977 879569701 859231308 852105371 389330545 262471643 935080690 222620793 600499330 916618485 893249801 804136325 178212425 648000410 297818142 513991420 624460838 183158630 997279563 958060878 264087146 639129067 446732602 732928697 307935967 819234915 759024616 524827088 625203716 884044451 344931037 871560769 368861613 577313534 806793596 399105841 672891755 268755831 331159505 788515585 791763831 968576196 136120822 946489068 984574814 543708376 150794302 709993416 744271465 295041332 643123256 336347725 555689204 276837145 812468609 157791008 315990992 922052106 647177820 579957226 605698993 770343499 178095370 503947237 710677808 434168211 546952494 492073417 584352771 132008907 370039576 103640129 382735196 424694697 395274306 592794232 945015253 844885290 861835925 152313982 219139628 918646131 885992169 128255168 411770086 553573977 434026338 883598121 337333140 762225486 273950884 383134633 594906323 188622889 630292364 574298411 769392167 982024782 845062056 815889850 262001953 952958111 595207001 419088327 981557215 966154101 402611556 315366679 907106057 876808734 875976746 304283067 931420634 164647583 772770729 935162142 226281193 525837954 759505023 174112777 315375283 274494932 865494399 734284676 771998546 607388841 756573183 722985880 934278419 182264577 593611562 644758243 245755612 181267982 321891198 343268119 430981799 852175546 289289948 758859573 394420048 321732677 469486290 800894705 653027663 464626946 265416078 461872681 227783760 946687674 141214490 574377455 583116095 693600731 892159103 719672587 980712438 283443483 801803590 126170499 889639828 631345092 827431572 681446732 226716215 418817922 515036494 364841798 269317419 910726048 587572487 718911182 284323407 664295250 245212390 512602922 500838372 337683725 670099869 636118338 773382649 873787593 337093220 501120897 799359143 566129256 790643368 606935748 254144749 722403492 779091774 696590930 545918138 256589501 538548613 926952867 469109032 405324117 303679759 694370138 543148838 599727855 154495339 681031810 481659056 581592178 201432655 401582294 131457098 295604553 663892031 728384522 652052226 665961264 900312005 987995223 387561537 620625358 952865960 716207888 979989733 771290866 253850162 216225334 774076012 118740686 698801632 390654098 792037441 205693248 560922849 938782350 605138524 481462609 384608537 991463386 965894367 460245041 737234979 739880068 398522818 511752932 795707170 582680887 828969306 921782642 774456732 533065762 554954045 973956445 926780125 767856138 981897525 639516120 463211156 890161525 652153493 956553315 444151023 267759385 751085843 168856857 968609899 120134859 387587779 350031639 677081154 687203524 827574736 191956311 532636977 386533783 377695042 234402167 599370106 959951828 565938002 972299169 115329153 563353278 571723469 559960638 796383496 267600282 921564660 604289000 564034257 550264963 519808716 890872385 507987243 651361046 643758615 520229821 184534686 475693698 763008347 386078180 123583234 139700721 663941646 351042171 708223230 397936175 737579993 891302963 546890211 493284175 255585190 466918313 215976521 354782571 614946901 299057367 511525872 829014220 684676269 327672034 201645312 440769689 878000603 438679659 167932688 729667795 185601426 863184069 128495956 494922755 216957301 487279529 507211250 370129699 756850465 450030655 302510204 154276309 591781410 981306131 994477720 957306965 980943972 256791470 217224377 274315675 429921461 115627551 793908396 288536687 863691479 425559727 680252669 533591129 808228548 246542734 578424073 933734447 576481582 592740962 770361847 241221532 407406097 595528030 782959628 377639063 687416280 292003493 322343799 649324750 766373408 812634620 192425038 883863694 686502105 678799138 238564620 292490074 312880324 621896596 742930343 634108496 722829053 157667209 207625941 374381582 283106256 224864373 741475290 253246399 145410022 480843817 214223850 693596705 680214814 909293248 562750640 850320176 422794556 626221688 708198004 942387647 687629127 676653587 902406714 510832360 854086159 830770761 576245203 267814411 124228931 319490213 770305164 305112563 847103732 737497333 444655100 448619017 771229540 874774330 980347189 835878477 319853528 237722349 341893102 522656601 767659810 614211651 264883959 657400132 561848941 369068544 302048248 518721373 146739086 597831856 107011335 805208115 609865141 713207390 270212877 500017271 497671747 135645355 580294836 789235507 137580183 187549252 825591928 263717237 500078092 987399636 452572956 522007683 844567449 599443386 304742071 790818538 355060778 119132418 493208112 653276561 629719159 334062809 882823213 282950835 811600307 454385757 632046780 971212740 397202789 178988575 535951955 685726538 436349496 569334182 155578209 686729823 401496736 455421300 207160212 305775496 670599301 525112647 756201823 304913445 768383717 210231867 622732201 468215572 222746044 625488899 374226421 361546541 138936336 673758265 317179204 628346981 548097013 318901409 780886259 969070824 420092718 697127227 624016668 134111530 169637981 939441771 666102224 950291660 728491564 530237791 541224636 619033640 920459422 190533019 208698560 837671801 702202179 639491586 687424074 698401107 500990189 491539821 833513946 538707679 989849329 458604056 171367807 657409495 165261992 392596777 282009165 107294878 808223486 461765941 846487807 694743793 263280377 428988724 187524183 217924197 404786892 262304708 151342705 417255282 966168623 597682900 117509328 316141496 582893260 531175411 723398415 751485452 705843572 349135467 872358862 853980038 572827445 901745306 756950123 294160493 810944860 330396943 946509817 738952999 762791431 555205627 231821781 301057795 868775661 140342437 737981041 627302469 151808548 624104657 160865493 568941888 599282921 259218381 456306145 215328197 582818942 408362930 571961147 932856618 456086475 861723624 862830335 246771942 275997671 749949708 293817231 138476286 556508848 766333303 789371686 429893502 317636085 627808650 877296526 453643582 575773423 998629658 363580901 212859399 877976800 635711488 944353456 313820718 512228546 996366468 161065684 715808230 681145814 792085023 488519583 400262193 515571234 702333981 694151588 879337528 893305832 469626375 318674619 253145467 634384764 460651023 150921460 865903730 215698164 508322687 569734666 640123323 479314937 571369386 521292403 795435971 871582639 156430398 584670873 991451935 706946983 402096043 705964340 201311020 170234707 834895194 529042005 429890784 905969399 550365852 254947842 783450884 367931664 509834374 856648162 378288403 477778177 424482017 111446551 486431957 906209662 348106018 577108027 920722147 415927297 454409623 429933506 722760284 133174023 836201822 744604556 434831190 510205014 992142242 135134877 501443526 976554600 858721913 457571328 771060533 774349468 809108012 981997071 782041625 793316424 611186921 978194273 221169842 327999683 815001291 522786625 832833592 685097156 467129227 378599981 903576551 577361415 857057555 387563593 857518335 461121255 558017508 449149265 628089918 714813708 396893763 142768485 682660568 882996092 289642511 979082125 256491870 927157952 186602566 397111497 326906691 863611513 733182063 795465169 375202225 904018953 370137899 383792506 573130735 144876675 935807149 723159702 679906091 875402511 767159220 256598150 443822338 278144790 457127315 536968151 959387366 913589392 513520309 522347234 125115161 904042054 842931259 328066012 409700810 620682455 327159846 822937581 730860221 665743739 284861727 978984786 836922683 340816968 784803025 942824528 442193810 760800274 220174838 312745600 911764889 124586138 662873141 868380941 331336197 964175846 720439096 799240527 619698276 260254586 111854960 295593314 150437201 704949747 535047391 968061080 799086177 828404970 853440508 247378748 648084707 875607216 460206973 451636351 160674198 253879926 923469241 766277368 321134684 279532665 866097202 483011267 934639387 261642232 232428182 134664783 392519803 200736850 831714764 653253990 235923481 202295911 507855007 206269640 785387018 259921980 350409097 331766912 251081839 486098523 738304161 337017687 267499101 161019754 579688180 862322119 348041382 389573128 235180361 451116378 509962748 785094910 390565072 830640733 814554709 448790865 170826488 602582872 147480736 577812785 743805785 560295639 899147615 267854284 591139686 828549364 178465587 780528934 188682561 364388504 388796416 703371780 217798274 612807057 966743869 847269633 942759274 604765086 820761111 569476606 862201068 907774321 942378542 728251608 453084904 113439007 984421480 180743191 951929278 532003660 366946167 917275076 954494381 627539090 812498422 320991860 389964981 972505913 558463317 402972491 668408925 341242763 472706737 582776420 726153832 575181222 959805820 682088502 489089861 844671788 910130862 970229032 333792851 267206091 266494403 291351516 872964118 563394938 987147128 310505718 174284307 253256699 363365497 857343903 339193595 363963794 412415539 767609993 377804805 273831565 221600233 427022380 969565402 320818436 267914407 575543055 803813588 325767565 925490219 567449092 979775811 989686830 242739295 412431493 277895500 467715098 150288919 835091065 576640316 539377034 184917795 222255365 802289190 368448505 372548865 670153661 181422054 578689245 894754957 326640027 477107570 548551514 280835079 916000947 849635334 329055016 924374705 233262543 533530784 378979493 470493147 920331143 869462527 972741199 391092817 315677258 833930810 774451087 117858906 903267242 106902065 923995125 900730256 576171497 516325323 113494875 962622430 125635542 622979840 951266190 207064101 218862287 600756928 888224040 940562401 250091179 344328249 362003518 631809535 824463302 956184639 433750059 424124547 300212625 673560468 798744615 994270339 613821650 829981341 638595803 662561603 777749794 367042135 215831623 784236177 903720008 618143867 203251233 284644898 509531892 901734157 185442692 364970282 595080680 855800908 627751850 475014825 396851478 953381609 727842874 180531730 538620556 402195750 849823952 396796771 110546239 894625159 719447818 185243040 165443666 875014408 971593870 346036837 557998508 491717964 830510176 910257850 938966626 369831192 676445963 324202168 136502803 425855676 627127408 833941462 269132991 386492048 955752437 877347717 795545649 729314083 823174594 898882194 746924967 641844313 671819054 460752564 647584030 598535050 658801520 558824357 653568843 903586387 457841510 826896241 297007644 215542212 503441221 370621724 425550426 942211040 940084530 214417203 165762798 602741351 675516288 826369597 868950846 940033060 706806729 895402104 846685437 496500035 459591642 144699337 250860027 131057415 852813659 837646796 192137863 958247854 360654301 822673381 791923880 990475733 643566663 512073351 292512654 585030627 942043461 700215360 417252503 219307240 221316877 811605158 688674476 972440704 960345295 864303636 441651943 157289016 291134559 583167010 928834974 548086864 415535791 164089624 208467959 273694035 129560842 237011929 601043397 627700212 630035416 710189830 983572117 249644019 420147178 760277221 558191006 885728358 602500148 373027948 751696747 989008398 746344275 857884105 501269511 411863981 289071796 327308841 268922163 511368623 595805661 315962660 706005951 503851248 858936847 331744196 238358964 660021431 375168868 409713853 533423288 639820760 329323039 931866852 521686557 533044595 687001662 881812878 888125966 224266351 295860456 252267743 910629410 622295006 598145151 162212267 841165819 429803520 452843631 967527728 296545110 631708637 952021790 817465503 829812829 784607973 898343776 622053021 667687347 801835744 746774330 719789580 169315554 431205772 816351100 621935049 455595733 636894520 234458779 248270201 915941157 295444561 236178905 127113140 263351575 572866482 986419589 242141681 142989577 126573748 366270108 625342278 311800745 185671322 780519026 362547801 572757790 497984242 974165119 378891539 198177290 943020338 812233284 848257600 961826556 613766125 339097623 980054134 650469338 748155290 923747078 191518657 568472692 805375734 500773964 544179174 449507240 435034888 667331680 197821867 969057125 561114488 524543886 440227895 219115028 842164309 359576129 410438436 471850180 768260349 936166217 455812327 419596251 709038281 868800706 421562558 121732960 652861383 836184923 462847069 701036150 150078538 669514890 544041316 385368295 961453971 993537670 841236740 608143891 196433573 654541417 285950595 625737866 925756523 340556950 860180360 683332659 456691359 304542742 145967430 578613598 581433432 245501277 323338898 307556375 998086092 823978854 839822921 469984123 632434150 717949719 586532605 788891986 684134281 648437019 397219026 182375955 299328669 716462198 882886074 274872482 808353992 534740066 939520826 940156787 866827956 376033221 412236044 820913742 234245997 620400210 550710230 668956278 472418791 952659497 478135387 795146834 345334947 180170324 807930673 962216318 950520473 239124754 139693328 160262426 469928520 997658486 467653705 213305066 931785690 229019844 633811413 368288655 845765246 499539121 230880332 168492791 946976685 864649471 505763098 507905496 747313049 409906648 572150293 240473411 274420121 909213134 293039193 408718719 489270280 374439023 176242088 385069599 497580959 717416072 486357087 294102423 305114961 953248076 427534450 158828019 252137133 741821282 993351405 474689616 890094013 493579616 586096538 524210864 373563981 672261117 507188653 874592248 432788663 783895246 586282472 193224340 517299310 289478628 358705112 213904943 783605056 275506828 292257155 134581929 292344918 503529604 936502519 205848289 875219767 336997273 922113638 964757702 563697922 151935061 797747463 653523126 330331471 658864186 128611533 961923095 529588149 444083620 981273474 546517394 278682543 723775550 826818715 376258902 685532187 414707774 485965919 193290819 919804887 131678617 582298250 255522226 752731075 267551346 746385960 872877955 274886669 530928492 132646977 719680606 593590388 859054387 821064611 751574395 624856676 592106060 349038761 329681317 630373009 432721173 800763357 804908015 610523656 120825464 435071001 934368216 982452433 504595685 938613638 605630728 464236911 384561077 261026531 181801013 634069399 294963217 383664864 228923775 278919951 295115991 574088171 538977598 687019321 971723435 926187529 178945054 944806001 277892645 680216858 740395035 554840950 599227991 252362760 838211144 294363142 994501222 481369812 823489560 541288926 960007743 262825025 158835394 348874639 403369505 915021973 208754237 886026760 271443837 991293200 140785090 996901789 727822212 456504442 637352258 918322049 154149271 328234244 502660323 568847285 247137589 919334268 128053699 217748431 703907192 489025559 198688225 729737266 522489689 376165308 671452223 216197217 560230835 606047276 924997237 370463357 979618850 956867907 722285939 943533529 593633117 402245707 346832850 905453461 296138624 888153307 236158458 812784708 206815732 608322372 143227706 693975341 842818292 580474565 775706994 525773182 229503774 371606523 306179841 859282425 673290742 312025518 289929056 863028566 538666745 609193695 628126374 805285444 676223861 301043315 859185299 882229331 976441557 687489456 835723025 760590173 466652048 152068286 888633480 828222304 755557869 999391828 584168017 577204492 300936493 914086049 673588469 463645268 432844893 601747471 359056379 297375950 440576048 250677039 345597148 999339433 770843689 222398050 101061659 262959339 437315692 569060705 138170666 809317588 386223856 256435701 559665633 495479540 800030816 184276907 666645860 631428546 551580422 353950456 197944596 581243643 613501264 768766754 627790713 925896472 111425853 704616149 140637788 341652477 843197502 190615666 585707602 395674826 920639697 881762720 270829004 563598225 436893161 362703363 451228577 454312291 352017860 730801211 338750580 822004755 576308980 886064269 193338899 988718261 256225795 550753814 337741186 706849638 607211406 523553978 734590185 699061718 843028748 887781646 368926021 324906928 208393193 702195985 382835475 898347990 309266377 711117983 648503180 733871500 346421454 583158295 154324062 814149277 459936399 832716520 826544632 611047263 130460380 223945894 679102534 334589998 156916380 162201396 625784508 840503177 223814757 901660401 160128689 795706650 253511009 614237259 440631430 257256030 329533330 783974023 715504592 298592057 154181395 242584650 442905664 851589531 588543527 693739178 978942555 783468432 184985957 799297815 602350980 813355046 631285407 328689908 431331489 802180715 235998680 547819656 358219406 461526569 689550901 772118466 544907030 857685100 712609569 474472678 983560234 753603988 882276968 606759196 815691991 747275169 155071727 969109334 503924879 976267860 805781882 129680102 902220469 674910825 669534667 919502886 857009106 472121883 508022717 977437241 453544174 908650524 594096026 856160953 448585944 822333594 961761409 789882602 183117080 605991027 893942181 718032621 153068343 943606894 943957625 251306028 748627011 933291831 717695442 326245300 911399892 794537671 910841270 731864840 222432427 750980306 814797243 300332146 299903082 528308620 738475691 781555320 760245601 188292405 395269052 365958636 618699484 114083016 155316362 577692168 581392169 551326893 975118056 603457329 616923278 571319835 554308159 767913109 795973600 834332709 318531560 963715516 752566548 302938452 542069078 237215982 813674310 721078453 584538581 360668403 668722416 970352754 503264864 798228301 557395344 714348473 157040819 341905895 246711602 353064229 635344706 866999401 436936596 811481151 365165254 517497597 789364632 839564544 985999189 295087046 496847621 114303756 902632572 596171522 565574738 252602226 357195680 674817561 835376882 669813362 552744219 115231021 940399990 990365166 794434621 757746700 294877108 737224454 592103965 236652234 324762058 500706990 732769619 680935429 765730358 689699519 650384588 155224090 219895627 458800520 177445917 848234615 456234772 343450870 166126937 749144043 255716299 842937351 328330256 792735708 294399239 319631355 244553738 442149089 985441055 381888607 383978030 572065762 672202288 325611064 410689437 881085048 990317568 320873874 977848924 615948780 693002280 364144408 195787741 359023805 435031327 873739530 504172275 785621934 723991367 848106948 794782166 208698793 691647050 672071694 188405916 644425259 672018247 549786589 855214876 766466689 878035447 736328667 448843712 684980450 317246142 204349088 962722541 126659830 779140461 145136959 179933113 334110577 708975966 402320884 989049817 779404278 237981319 573434959 612720808 179967639 209021189 103275319 244129631 140222692 990592716 473175793 794776704 676491303 891780920 341873787 544896824 652153370 522191173 198172394 546017907 804644799 492777083 829299816 803338690 420134733 210983675 542989703 591650905 547031240 215151617 911377493 340744899 979764657 214343246 751545885 704459926 628216541 670719390 589787202 270339917 222155824 344040985 272316415 911717416 446018266 784477346 784148613 668158650 650729863 876872699 854385709 145595910 642955252 581051285 756132605 535388852 548655282 163416489 718046116 561602366 524089535 707593211 393242778 375593830 972862096 491074936 190913484 146608435 827439268 885477269 553136065 704489205 770259250 641729206 847188745 495353992 649042030 879676711 403442173 186892581 844431362 820916306 246992671 768356993 705807493 407341456 498994135 230863486 939625057 434634154 737165243 622128614 843775334 820832637 122844173 833902328 586801054 786379230 273049118 695578226 447376118 369148147 716066937 526073961 917843898 198439502 462560923 797818698 435600821 357880278 526465207 873525812 927407177 302228850 874539160 126146727 906113686 764443717 949273646 372572259 870588875 970464730 110825973 791605805 544558024 526703893 406697837 965086952 466996965 306282766 835169526 825851447 406686100 354343810 188563590 653201187 815224245 483844908 608049666 223563650 840485515 159111777 342744569 101832103 111654202 972057985 207703996 780408478 487010069 158338056 519523468 284807669 936529532 129080074 256654766 397892682 908803201 115853862 260778139 678337254 879772179 726717910 832012837 973426595 373032014 417206848 242454368 724965963 967684680 893118966 914913875 119520945 439377931 378131189 233730312 662100373 650102261 289999599 374938269 638374410 600748306 913290614 191317453 424348287 986815896 879286323 848877966 474865617 720575143 475996791 648150942 535415497 878641774 602821980 360299835 865521413 149045508 478767574 314465294 372713412 574468621 548065503 777252228 208153998 900180859 488849491 542765729 204750549 692148419 479224599 990043230 872438375 570684849 237295565 202187684 581652354 466986694 912530114 192264346 319892572 327898145 309102911 609547852 695083546 236625860 158429569 308583191 108963961 856111471 448715854 511371563 398109784 585018981 331673546 979965272 380749016 324784456 412854381 228532254 939955145 393922399 915185673 967279638 952024776 201194264 412428678 648914764 686133421 185168635 141637953 994839623 717909362 897427649 358500106 206481104 975634272 374130449 943043834 483610085 807075583 787759160 223681542 722012996 212207307 216589266 518340283 257559662 996340448 143412469 505841538 435845235 759921722 873471501 235477623 578415678 127660432 600876831 374661097 251956006 119797055 173963595 389515633 478681958 318298215 517798963 912067480 566090220 766844002 528112734 990306838 309772296 343101312 101233815 707744121 925576878 803898745 487221859 337895996 127968687 523849644 770760519 143516666 963470723 576121106 564840485 809239028 133333570 484598300 295925173 958469620 164594157 523719032 794850210 676242788 742122175 136078691 581839624 810785573 315394021 935842078 874103530 782381231 876048548 802430340 343346561 559560325 551984283 459954485 829152132 101143717 643569281 521605707 808451512 680585023 568947643 171039874 388704022 879487017 477788059 533025105 922786220 177376720 206720443 225200776 382694754 387292071 686463111 676458302 672065475 330219706 531519407 143746609 901607820 442823834 396295998 207977519 900958625 344649429 104921632 522962786 509720458 973600176 279259275 592680913 697720616 722658400 840334235 404386586 196785427 788327619 775116083 459406874 819396143 541119092 829791981 998881121 275665674 488442291 330130936 678662776 885909212 600238684 300390676 971315471 976837754 866940913 338716774 221169925 351268547 844537392 207954619 671930918 475421475 375046183 423009857 495056711 202842900 724403252 948702283 783872043 830467468 245379299 373072776 545789759 898437716 435361942 607975470 593165512 988837650 572386847 913639658 957962496 231730773 145887065 256166644 548723957 417287472 989847618 697040603 779185103 104886011 571435497 539903378 514251812 120488157 221868777 694211123 207373960 416146244 390540872 476069074 479103255 159828982 836583131 784715423 278406718 957226190 904741642 332197789 181621749 888674275 553443965 838978034 481600376 364837531 690803184 615393178 627335883 764980416 179970278 166111448 662610014 454639152 509958434 343349764 575644391 544459813 226639036 678792686 576705575 955434043 497956498 338044780 712943424 953424182 537194479 604463469 602755684 719146382 221411530 348961752 610742587 297277260 683143170 532311562 822086269 524582086 461238438 887823443 484345127 615677710 452849118 978190588 971837896 588756908 160896126 554630412 726622942 429029704 314464949 776562926 162274568 181341723 674667295 509863054 585121930 459204951 651714636 597944831 615484103 747845027 845952892 716790060 923800245 543983770 668995990 412839415 617300488 546044631 349563043 441215580 202655923 659174702 936722487 469957726 914508642 818342935 600684965 716174167 287508138 586174371 582656966 198822434 130422435 997890797 983947991 434656521 270528381 677054661 378734126 652459148 922543586 305290514 191991109 317876657 670625532 714560597 446267948 234163032 964399284 317987816 412903215 115606280 560354225 144940871 669330088 301060920 223791344 869324057 914387980 330555621 842929640 164094440 950408471 969960007 197224127 795457817 576134454 441700151 290494658 524163464 818667234 719251514 709042261 882265927 493763367 516531543 529561001 233069804 742115712 813984450 297394170 861965182 637749986 910195511 479665506 491017555 170431279 568789758 258545122 971419759 117182601 715848732 589476469 941186709 105641396 349403898 964543831 473360621 296809813 205939048 403778071 879644038 799536195 769734676 580300436 987827590 973866157 546771646 306348925 915269900 934915976 583262124 938794892 579484367 321918869 557707824 910567691 455516283 395170660 155618976 556104386 912583472 936941687 918216129 372231799 274524810 231900832 311983913 852135635 992166474 129268852 500258234 798323635 747628688 780399252 705188827 988686773 683251425 861876301 645153197 932822271 421487772 896370420 791848779 697768469 510535816 960591562 141922231 925492227 948548375 207045254 526505323 207725015 745071049 108180043 813382833 720079729 954672701 465194008 825691356 135700159 914507785 292289305 272486239 115197992 896026663 646489701 799088238 100663216 753738347 652105101 820986290 141033393 104161431 859697455 196429001 491137019 431155135 989394350 163447986 151784204 917341494 618450168 230687900 134155489 407208626 515100033 298645842 734944836 481706553 172459164 136624930 278159496 602280363 887978365 438375452 720669755 143681731 851425719 112559995 601112649 949250064 957098919 794549360 472359834 538203435 793934280 728927280 229093709 653039194 625494826 152670650 128375325 615906723 818279342 261001551 426580330 707805730 356921227 407966074 306142391 694138462 718120559 224341666 487495271 303678732 930565956 609758525 174612069 558418934 931754008 740640271 199542426 692690612 177736934 523112441 988485991 162407841 920177525 331740826 801797335 492015296 580134651 108363477 362725954 575783230 246597090 550572439 923770626 499874250 706373534 736928722 835295770 400647535 939802816 685223428 393013192 654601369 915207803 886326162 127020276 208147475 935164566 133868835 856920547 230458178 644011289 553900358 107251843 281097293 357967244 675371633 190978048 681652338 520960167 310982878 853749028 958705857 547851299 403936027 371678411 420473395 939349010 783724973 596806764 445058285 702542324 942461404 967880092 114910036 549056892 869887955 300032703 457006119 978848808 743442265 104599630 461483705 564545113 207476636 886093411 588054159 337697412 633194734 177488501 925806130 688484800 635766867 995625880 522666475 848199985 748366221 749334888 701237025 812422745 662567046 516652895 443930157 582189324 835657878 977847243 788862794 934438439 218543529 843737751 531536769 990534271 241982728 253023104 566548807 917771813 295827136 914498445 871720417 942693444 357626035 688587429 368416077 940567034 427248747 638004585 840455681 644402349 515669837 620335606 600054543 320045910 871412851 397179871 403863855 584739743 205996582 896099673 465203477 857281988 256636908 212713099 956365306 279186347 478407206 805544417 626810066 641365371 250688934 934255243 493762371 455371743 794426011 901561142 838362768 709960204 803814675 873847306 155309336 388932562 929293092 593662877 747276082 149934954 650647964 211822750 223036183 276333706 751718573 127919002 809354683 139274406 113480126 533899057 631266307 385005340 818899179 992745655 715510306 292020824 290481151 970690117 183756221 394212464 346424428 476734713 416510132 371675832 170577652 920208364 588182283 469531630 469017091 569689355 175492038 313898546 723368556 492291752 711538232 761400490 647795300 624707027 748397361 225942592 948755121 722673199 917619863 219859881 645869663 341688612 430874781 850808414 891273185 330030849 306207458 410417696 783617069 263371670 663464057 725669519 433274269 969273236 675919077 440064455 759588844 893689540 352918323 627664085 385462179 702336862 451922317 915411551 330497683 379654871 657881691 439532686 483926445 846417247 116202530 442519591 891994827 701647893 859904390 175543666 907972264 140737012 776470341 440708580 194070511 162155187 744074687 213904628 307630524 702841060 168112884 949295717 110657475 408777438 425519509 972349786 192332765 255955622 600135560 230074703 612762702 323913922 556145858 217491933 205134645 639488635 964535295 941727855 471374139 182062659 945774587 921688568 800346706 549284034 146795053 606261691 433554291 179934971 159025180 795250960 879755497 301899401 925740782 805872830 710787353 957466957 888100213 642094089 110675964 321802880 340208399 470524468 883134358 711373842 537945830 174687083 858554286 854721129 490614044 114466331 301124878 294470927 307437287 736185872 206119953 400652121 126553665 391594909 414052335 446842020 677021755 281853535 133359809 440527033 403650752 474904725 571323934 210271740 735667938 381090434 762564794 920818849 781358016 874772973 788179503 702866723 352151488 831371936 863003337 797424156 120771833 780848010 551568047 416073749 179478556 298840508 410808302 650411009 482559687 987972460 145231050 124915397 780853821 435087328 473717786 281196302 779043847 391791993 621886799 599740018 688781184 445588563 709322588 243081956 895201035 694976448 967860320 508305751 987327503 376231466 390552480 845861441 111654521 566688188 650347078 965795404 975534988 706537364 666181382 910706158 291114291 275843594 219497450 679096896 644850972 940231495 217279267 984123437 946027442 581314180 469405682 188213037 676732561 591705269 363511028 954299774 246606012 419394650 586797334 789440804 163325033 501283444 321773852 262741830 403072628 109435171 968668428 970502608 709599946 434404129 809700736 929769563 880166944 452700608 722445262 583956444 563844146 244265160 365232619 614215716 891293138 165978333 431220145 299204887 529524672 607955684 911961709 517345162 865032036 572569964 138619919 278412956 261907078 509490701 568989699 503731144 405785660 194997996 446000016 730273052 326766523 840886144 158919822 485954850 711629928 938026043 576825660 925232430 159815292 562738758 147373281 602372887 543403080 506861153 208764846 191296711 999834993 247632176 835075059 940632895 671828398 945450881 926830168 741351480 330306947 152417262 180745138 315746230 607812411 580776095 194064966 581860095 893234464 447560180 246469615 299068354 938986501 850374724 623900188 917071414 237923434 262936252 214317713 351608611 210861200 751869804 384337187 285309542 400735029 215592361 382179845 792622244 582218340 133876544 704831238 864354414 700585636 523091893 317384756 790034969 367320050 705322624 798754185 674852443 546834550 388777436 676851962 382141696 576463522 318079907 556996671 150065387 379536108 623828080 130972790 146123430 950327822 177310296 400918355 763711463 579184843 230906312 678865326 172702117 936151538 840083373 882403671 577550125 269982978 333199666 827984143 416279007 342895408 178800199 801611589 901389785 775668062 563936090 621091452 193850253 491563789 403730033 491594163 347273260 965404150 493244104 789229989 406173910 580729911 223051032 299651530 498992994 618495808 858212719 889520810 559442712 714937079 287129126 591623513 784094065 383843504 566786904 112030917 288001708 182980749 713223950 291609200 345956363 178446671 594534682 912310546 762367676 207089951 639212696 984506971 709503598 351217325 551756198 675921839 218478999 327038378 504199699 438444700 562036610 759874041 662955702 703711254 272895127 794981301 975831383 759689054 599777352 300043738 499715268 913732584 277627444 396478788 257485393 974710230 714370385 240000554 577170906 301222841 692417925 892950609 500967376 373800776 977571380 375232100 181019687 656422922 503155444 103733182 423004632 901109349 881414615 316151128 279970787 303023301 259696006 921404579 946863667 371707612 264547713 409901538 899486801 134096700 742615771 464597483 311671641 835375859 276544027 474142474 959999595 384282137 979513257 600381322 962505214 201806811 920220088 735828113 729656777 406174806 637090586 976433270 829755739 539646913 774267169 600261623 162962774 992009021 773219781 200560934 198535322 997778996 146440217 919702369 402058665 813271963 291657873 590974824 382669006 977411968 765625996 994170613 844955529 630082517 556442209 533170997 944049316 702333216 495175908 852217558 133127644 937303227 767796170 893832041 934336447 830682700 542829982 664586213 467364112 965004509 634999674 218599806 454746080 255056051 667093276 877367579 957411456 642179480 166373424 561195685 557771636 110334689 291767838 353776438 531260652 535048635 186650518 824522242 185257416 438051095 646032168 625700970 655176556 476263127 759666496 152359141 432621908 194068699 648328528 857724103 732386708 148341608 674590846 118061804 100142243 872712119 164968813 752079324 864101420 972816540 513265971 607987304 102924482 881631622 427648277 625711588 545564943 808748410 774674419 956748102 389757416 583776242 226450559 348048668 248036685 531964697 788804461 550247619 243920724 311334027 369522256 154120173 220864109 625280827 429351700 928506746 645793063 214188798 606496375 832653942 241993160 523231163 911262560 765354029 421960041 144199100 624140882 646902721 862945113 612107496 149007245 783077403 808384357 991019590 139308100 550412935 246957835 256696264 914515311 626682768 196385247 440457585 461051787 413215044 137734840 727868529 925017598 499294932 515122904 420031717 623780353 686963989 447784088 160384134 948252933 983373649 159147787 880439356 783494789 882469173 365761827 627274453 958260341 609744836 552693975 231733494 432980292 955424445 542854361 211972142 932246993 871578483 628775450 295159896 774475976 118688755 172262263 626945670 451044850 907329838 701800398 329312575 972939835 641006499 179135939 317090331 314126433 372239293 412687658 642533389 424226396 457219571 606122632 789599953 177990635 669747407 226248581 693085873 873438855 214137664 784143789 934083969 615613891 301955913 683556960 475500130 248716716 445021226 383844481 951169383 145490907 811172777 761905874 417881096 347854841 851843757 143325452 122929646 723054471 235285237 632953006 977740689 258507070 998336106 367017368 445058845 486381322 132852582 568398922 969676841 784726194 177155053 780039883 623964399 573643656 346583708 280846362 837551413 177592936 128933037 423377143 232830399 466428711 926211653 553967865 571316713 697418779 116895248 826074869 826669922 915866602 853739364 118230926 532240587 259432522 444838945 110131864 200181497 968314927 428578759 976607700 150525625 986550408 702002956 707451408 336045259 500111839 164142868 907579595 956948620 884064220 343633627 506719730 779579408 817160613 427245983 148983186 695262465 232251120 365529359 659853210 829832897 972993823 915065656 427614454 663988878 382601823 180931327 383480288 877796980 338349197 756929645 367707257 212866596 557645107 557306057 560717265 683568764 926958569 603906001 563539186 211284122 286562235 300907215 801832973 482260999 542070031 127163833 851048841 734119952 942398750 169081563 705848679 594844739 246314664 992711387 193841862 262859855 631009101 905928539 624928032 880161175 844817619 803686990 261441322 982770072 460544487 618895300 719446150 230953851 452289794 103322448 943588582 142175693 933277464 330044307 814688245 938169667 646353777 321313036 554677323 718989869 483092082 461539310 457149499 632759230 522874462 466285556 972620377 579049946 679000236 319132645 106776536 282029258 112531866 518947868 280127625 878539208 750686421 531719823 850158155 816206383 246498735 620779480 852677412 802361225 487141567 477173101 600842283 559332643 390393807 157315262 267007916 377404622 830429884 195680311 238192122 649114432 235398062 937360764 937236001 690415494 331306132 904931662 184231157 794410560 744980965 489778058 285281254 713216489 614384294 853626941 696954921 487000459 333348728 456072774 860157749 589848575 438780716 637694056 813363110 703076807 782325154 200393803 986777360 453450287 544250047 199812116 583504761 617283984 134173144 385706328 370516586 684057479 846273168 390509889 603831809 648778179 251486721 256355962 566386125 694166139 349635208 584323310 884740634 921187263 409336065 138976296 356253607 816343679 506623522 174217610 632257393 926431617 666549247 516706379 929285661 812017622 711470793 592446174 474762238 737054210 574677583 465308730 390840463 505429833 565803286 777067186 403971424 369786195 277742401 978390725 866349854 276733429 263381251 811909426 447498812 361773314 714258534 881909889 345158973 510001585 321936304 707534517 649903520 829139121 167177311 873552479 868513785 774371558 126337767 336659721 802053714 376676092 238686787 477282251 704187246 136371348 802529763 752584325 681440914 468718980 174432397 911031914 640006918 209193517 520497432 924364980 896633751 676488415 593594446 267683418 634081238 606739921 201389793 523662424 887758518 672379041 309018143 550247394 520248404 745010221 848137144 236218399 201763257 624408824 441305659 329457889 180124147 419876167 232150646 381156579 486089195 951886261 840114507 518483376 677994136 924017407 629507636 411892046 424011703 405583844 894306777 401814965 622409583 517312070 521302749 550920641 801195726 525608931 606764764 581767208 112117648 258402903 628737935 560091296 506946429 136430217 344288718 773616154 970529183 533442393 696905215 438267601 104467124 348575158 744195824 942225188 240117717 673481598 674096744 309045579 276160756 173728241 827948425 172356917 832644104 212008543 115721604 462670238 418620747 434612769 581775220 645939186 661234257 706198488 351277336 117993832 114680877 998795073 897197948 305786539 226664879 663820262 821967891 678789611 607192295 655123099 166683670 782430400 366408806 724065403 281727618 156742876 234426664 655281607 459532286 746405463 309280213 871107503 223976017 463728006 960304178 870996148 257395015 977993577 428030132 945281144 475178845 992690025 579880560 911400270 681744895 534502291 522584788 917213730 970776310 515273460 885297747 761667306 811024011 705345597 379468556 662213741 959082862 302929844 746910204 476852007 921412496 289216126 412507951 440106110 693763789 712034828 541819705 517234349 891284922 253547017 694625725 715262726 732198252 197305905 675989618 749216906 950570841 755487456 695791349 916914001 213054373 306528554 274711405 617551095 524547267 288652959 798655026 451504639 525003942 199093188 429579566 660437883 332323318 718073910 218620915 555733744 674826521 412480027 707248729 441081163 231584814 150449566 462855902 719374086 722594571 455680675 581108864 660527792 943770323 863349286 974948873 132806219 452599094 610300474 686845854 190647302 801590725 294724920 239296898 664401300 901364820 950150702 258672274 471827523 894260904 440813429 905229542 824068702 423237091 228154929 103148442 485999084 598842334 259209846 650868809 657881319 389842636 895734808 513875512 828608478 863626507 877794933 201513642 884107770 878626128 542380881 214426837 839698654 858954742 793954038 954421608 416534251 200644627 368324102 643091225 525658402 512724737 362016989 794309392 490365892 210146001 953121152 682663270 641261646 315433785 821257921 481058885 566337714 123039301 756608768 204419481 459073604 886927725 291001711 261376533 288656401 725332259 263411036 853918975 838062826 452643372 986378517 768471787 411273346 347446439 300520802 753659586 438499954 571789679 615676290 259446625 416724645 142746376 876091599 230268921 823520758 587520233 209523584 125889745 801327952 902522852 373445594 317522680 872956746 395888359 554298354 980880681 398122972 753886082 857773139 387393275 560702049 932364029 608012592 901557582 653053351 226911354 564830425 812194349 941700149 416041968 572216228 846477264 134163254 714905992 335722941 968638350 402717734 313511844 741086807 182308463 936457527 536028262 448474933 292930169 921221150 175716668 690234252 629370915 733027176 188728302 213781740 157657622 783114029 401284285 821826910 630337496 434585304 670182576 782113559 632728011 757675577 572946488 152128832 771770309 117532272 988973678 321903254 455467747 952628647 341209834 138827746 348114107 290736296 977142214 949790683 359170259 793663942 625055428 814561732 742375824 852076174 849916937 625460440 277566034 815716269 724411435 467516552 978144807 810646662 629185595 257864714 724577184 115889374 830099464 483773043 367304315 980982071 116143027 305055229 778276232 517862751 676298248 583136305 723536411 853284263 623851714 218866543 682828028 895919714 696089616 979704110 778413914 617725979 989499670 715372653 605598026 224387725 434092565 924141901 701857680 323276137 417524126 550232597 963411125 418627007 975825207 929451753 345622909 177734901 820259656 863413080 358642238 518287738 813119801 200726533 796943501 122883602 342857539 236006058 735070187 885806463 370583825 690502699 588295777 167099482 746268083 838676495 254818477 736935070 891098889 695197685 356413154 994591617 150757567 280976242 202806373 450461575 848510749 627287732 282894840 285038152 922391897 773167153 305915805 960219471 704009056 597417911 639387005 340094838 252199007 112687984 997104117 258116402 296060299 836893211 624258195 187685306 720113494 208333233 935783567 175700611 125803669 287177690 832076397 475569149 815968655 222036744 449621762 223449879 104743812 656836102 135022310 300106258 440561900 511303522 472230949 700513502 134636411 646500862 230643506 932667305 654906605 171011389 895303930 831361051 609131580 128957874 355009568 821107112 402443362 845282278 429545445 890771498 265140656 922462380 343015165 732303626 989953870 184838023 706951861 172602665 708182884 842976793 624154341 730456063 651922984 623716407 760851516 502744425 122057632 730004059 806087592 186714434 428937660 276374745 727626059 925528484 311213977 255214276 258940176 616413426 567913445 882693072 660028188 765844696 438104163 898201659 447846924 740154210 231676443 670427033 968053424 294944906 501148501 359510486 202943494 314286039 903282382 723364454 130407568 739657695 864445402 878312241 419164826 199911443 499987571 287029559 354920844 314425184 755428692 317318072 930304746 330715599 788920355 938648600 905714746 849435350 513221804 375518851 749902739 477315917 743472945 249812182 968261198 414340914 198176634 888482930 844889386 568172300 862110105 237803431 749782810 699748125 856614654 298990417 333631237 382938934 222562620 751879900 595949313 450629033 313452436 505351319 359989601 827422608 661935936 602921469 653471453 438332731 179994100 698858031 595642703 405069477 163855696 830027393 717274673 879844055 690183909 734672022 492671556 928404380 899897300 738364492 262394071 383476450 653649707 385002879 353829185 200991144 170167524 880992585 453574324 804312423 511919914 871683789 493646352 780808657 777332180 923652477 672251505 380890534 135968071 229379304 645826654 535363642 515998912 393383122 118123120 656134292 571670556 634413492 359760961 787790100 590837174 904785836 886822000 614907954 199626357 978416961 202554956 207039813 628444514 489516818 356695746 248659818 689657913 815600476 133792428 496280177 458535542 778579676 861061030 146864602 403477859 370541412 357728404 490485327 893507553 293000442 543266827 714457518 914716819 612073162 909021155 385838538 833965122 393926416 993533659 473230057 391311067 127469234 897177397 729085713 445027152 136795561 438769537 867668884 176727143 421861904 493638290 206457394 860945041 385777417 222313162 534256034 404275215 416944542 670955685 671467638 446510115 382722882 826397736 555260192 436519629 575254396 537220797 247144286 251013921 128358588 324441485 703565218 211466881 374329755 375078074 840230859 701722858 126847527 639786029 667934151 517530431 353440821 316663779 355386651 895162720 125661392 831925805 683717053 168959230 522552277 608315324 182880452 515897835 723541645 839743237 800708069 909344208 365035103 216028197 383537197 181488964 800759660 372003574 255898916 486694180 333402157 108928514 438941107 470225159 497877699 136740110 571699418 807215208 868050308 369603929 789938662 956933727 828842331 830052020 709355093 797234928 851912095 199616660 876379686 460881710 494102848 582735461 837424237 917269091 632246903 890895717 463111785 489009478 812204895 756896953 605509078 179748689 764438661 398103961 747413266 930039485 315071587 377806618 118226603 369038431 968994791 639516797 422365470 215874051 996606509 485696189 970975652 132041964 217732173 373197537 196077586 444007679 541700888 408539093 934997113 410329043 601607699 185622786 817060280 186230598 345060758 286161297 365627444 621392967 108200815 832708310 119002080 618336981 603022443 455826703 780809128 495075545 814709218 379474044 301917278 868295953 125522936 473271495 502131851 429950713 901079912 711924825 287212449 159063044 608332700 704234637 821669253 118997565 245722654 634191084 812532179 388479834 410993935 825911566 178775817 920844400 762983200 117938635 812150035 990519665 134318536 733144035 462381823 140961728 373118251 234345126 345202293 910011844 262149261 299133111 552897271 809678522 454832841 374567258 401562013 370824707 866144102 155651671 371446534 293581077 616642828 291463323 205587408 718897699 827794221 141207608 557245994 527994489 993630723 421908932 339278566 689102000 570932718 834118944 573375714 168978532 114874759 226023302 446962165 794641321 678692262 373030919 186194736 768605896 501844949 996785572 428244861 666926574 187298531 795454508 699191571 339657986 700838378 271675159 241220263 640795644 413027317 626127446 712940440 201118003 280897926 206150417 301182433 863565493 316655513 104467345 912956037 485434481 623150869 160182062 455798270 599381493 941708819 143704538 390622805 581691912 783287707 627154568 435188503 161553108 246849457 165597763 858524543 680735059 538036762 977363453 559017345 300725311 328760110 712238072 887714750 982289032 242809897 132724711 568494860 198152875 817075333 224255122 833358282 303056825 275663338 475069617 229892119 134089988 593624840 740389698 829588816 262558538 215030198 802640303 338613053 205143706 900773177 812707246 556321215 110309139 885435628 561819162 562159521 125634930 739158782 277013367 757229051 301943116 553099084 119959743 401710017 879771593 470170499 921593270 544333532 150553566 878847063 647915917 969715468 822225462 245774054 527019581 210320897 729832115 125089001 961359981 195751617 608943318 852409699 469940126 235964530 635595242 169114949 478595335 554101839 393757143 636186321 942212058 221755028 710478823 157084608 292579114 728818015 599421888 625463730 191391217 863965772 210944740 256492544 301464633 114461276 271902508 777392744 365486043 960065924 585326652 902221094 509473614 348344704 228340717 223085159 265884560 639792034 820625920 660693027 135097138 861832218 451591463 727468942 495392899 614333801 823530441 622306186 186285192 222688022 504275921 496193563 274926080 300608707 290413877 949793501 610352739 647966261 925056521 679057680 239195815 967282951 969871001 721030125 717742726 719567595 158802266 414345717 146431626 629577280 577274589 548043721 896247089 336496676 399917656 415452035 436064191 446216511 241126449 793938871 285822211 994527634 515307060 915452646 167804333 375785015 205863299 847870025 413877753 830066046 768034042 567981544 157419117 927949691 654312082 869979595 549640244 133563764 124969129 938246237 265722804 630048974 832792207 592270516 130387350 510783918 109575644 233736942 580521443 495240765 115470731 658945713 473373842 355441619 926664221 719265977 828524755 500741051 396028113 342826586 577387724 345533891 900162220 640690558 462545177 750324434 970527917 923417523 968324015 312721660 607236174 656322002 975547476 943137116 216147283 403384403 833901526 444118703 826506652 963843549 787793994 182293203 387576860 557777518 343840428 692038648 314061464 851576387 550861732 298520374 151670853 412226305 849661242 193173333 867546483 912003546 440666107 451651670 641966293 787442265 849299177 641776261 408340674 746308922 953897045 467808499 531797830 322513548 377843182 642062956 961920674 957552000 296679785 715871460 484043000 549628569 174847295 546219520 931774657 378721586 586323786 915819480 528973666 328405669 215335068 889811933 813842219 295627622 805947075 905141899 172018440 783095671 451336987 979080917 390832351 371760385 111738755 715138578 103768852 530155109 185262420 967383246 638048188 769212310 902844789 527082501 844823333 687704865 200934593 866346576 356708920 442091710 452591556 989629465 630985262 863457334 475546338 110923556 480724842 250448159 641057033 767743860 737327884 219016464 708180629 395096475 176612843 837499489 124324332 906436741 136227529 298116588 403446831 787369952 809329597 117998350 139672257 540570694 172330901 517053780 782085704 340534990 574880982 154000055 490102216 908315780 444974078 564418946 692295622 508617190 639256878 151884782 358276703 221642741 563443679 874283994 315764731 557297019 734328572 272809495 996499566 335191943 352178595 881090142 605685375 423686513 788762338 629878613 976318722 260292118 640181266 692848492 269331562 769532410 202700763 777083562 922815405 525555127 992853262 867495632 721317568 859570117 685352750 187782188 660885865 507092550 648674919 300065309 587489653 178375005 616993177 653181624 547471396 495843131 641596419 666315731 268891451 950841408 398183514 691384163 616316380 825693911 142744236 910414741 481066295 495703775 455977920 852747484 172535113 694250819 543020883 712130087 952990656 993907874 761429846 558383002 262385652 835242593 341323353 308317350 107691938 977086529 145450745 930002453 512970469 739489607 335798242 200034995 319934921 856452221 842665900 756278391 535962830 620750764 125121432 627345406 662039438 489529176 465345001 170849857 372003559 215770693 663063107 158256919 500639688 694290243 520851330 526574820 929656371 895734248 928658346 904455998 405946376 364861399 617703351 319727760 400548207 800383255 623002321 775459854 607506232 737439433 234434463 165620529 739208475 487504916 118802450 509827953 791070391 423156828 532920376 322583481 733479803 596747823 354102935 395689432 577123397 530173320 852708561 515485378 795245723 155255043 981952384 474855699 369825886 148112632 815636467 851045747 745197802 124097684 560307805 213582593 748797842 768077706 802940234 294347666 953307401 566922916 748003403 205534990 798953231 827807739 807020830 819384400 397511472 390531207 501125687 952134273 767589920 599634347 491630337 821122953 215974150 670894366 343177841 250540506 878116187 392338006 750024357 621476940 896471550 964927272 405176733 255728287 940903784 626358502 948623674 897327542 388011267 865894056 622262271 138798901 300608483 139787449 620971854 413239955 746081524 602035378 108153465 652555906 525092171 102692889 640187632 712726047 464365994 434817652 865359189 429186425 166280454 453145908 247474056 506930765 723325872 638116775 741309484 198244782 846659690 398472882 130103185 864426581 100198200 588371117 455220547 421485878 166867832 340137563 108530796 861340536 235079287 329639982 989281205 108584949 691015385 217261572 312828735 829103106 383325194 686519024 640357142 205484843 918963427 688405783 543856494 444671560 430708666 471517109 736492869 683952051 771916463 219169187 588468480 469694039 684088667 324500482 675770035 353552664 468969500 108335213 974095967 865792231 411753700 285486912 718123535 116242963 298003384 290696724 190857924 844856306 755057931 981456466 280308270 331505204 627391496 648186586 796486068 897930164 203086603 810519730 291782393 946448702 598298694 625083021 804300254 558627144 259934840 403849952 339523582 314992313 813589467 301103192 160457723 223896688 748287412 543991990 721228512 581028635 251327013 303727478 915594627 774885331 613208460 902955063 712458380 100938323 813176129 352404510 444977838 108601617 567252076 811598095 960945415 515556393 198838647 678372789 364126585 816660347 891678207 285686542 369431908 643882412 680724753 428617944 377920185 718639748 354666213 312541245 670163837 790828424 545705972 569793640 100712733 310764311 234190783 281618156 191624095 278060250 580331853 205575571 176508706 909151986 228440104 511941033 393784970 712402321 607964488 784793292 322924220 558808145 360191415 810302940 217930821 803893526 711429414 614291923 332893712 686823941 386640699 280728832 640804694 777811102 291245395 107416181 304443206 989567746 800100466 287449145 139594387 513751235 693757868 706660445 127008329 176141783 205217223 872218220 839004909 340868574 949101046 400708605 795389104 340416858 456121733 890398374 961537432 477086150 780200542 219828771 283005886 296737187 146152594 763988403 684463405 328191375 659350876 322957095 441563991 351203996 616035571 179109494 629297263 413241352 231183967 861062532 802228998 259885946 174937570 288099238 769259614 773058096 276041179 550339954 823819778 301817848 791116373 495777293 947450354 176785595 643178831 142612324 623431476 623695691 601739524 340011090 579489535 211550491 640862144 276754614 934269230 186284654 422232498 445264559 483867565 402528621 444275834 221871609 930089356 345010816 781467380 689581409 357653035 152289358 588103439 574287444 983759808 974019148 541441931 448238423 812206394 729487794 558206639 770231811 317189270 427263746 496371724 766387617 685300574 243681461 688038446 327478127 283448610 806277972 547064773 902311947 153502760 487539110 184214863 342195624 920902881 946365051 927559470 274640528 691996764 582115132 137000703 187067036 829372659 836178617 343285863 431409556 744105117 312171492 285356488 878220250 111318894 457441772 583681176 446496294 162960060 659724148 120364288 889023713 332376515 865012121 429970537 590360901 616432100 344605526 635639060 187311154 686770841 528489216 838763251 492634859 867510254 180469969 781156448 986096846 714631143 532186717 737201645 593046998 715860589 856712580 338011106 305536219 877691955 640848473 198568507 789784481 741651367 702622921 375120338 670185739 828275358 826450942 378757812 335282813 632088759 219961060 758146715 596334388 639794249 624035214 681788489 747310719 213145162 779480632 103841354 160010094 180156519 850548693 527355561 114536628 523064960 824326603 762435369 372083686 738051715 503110067 680711681 917990319 580343215 495812855 398018973 696251382 600753447 640930259 120073214 569926212 602643056 953545573 312450074 381928487 652177379 919486811 895464542 867862857 720340262 761860416 972871688 241455889 199544056 175470072 410801687 238805785 806226405 364716144 641561110 875849128 156353885 480654881 912598957 281609704 934612864 744120489 624420334 160738494 512100358 303217612 745816079 149625703 815660282 462198750 914322121 454367920 531554371 322049419 753672264 885573949 173552764 415353144 886287138 470045736 252306561 175324366 828664105 622348517 342835260 964147236 678488705 418208598 275872565 257097635 530594486 470325013 549710438 161881874 823470937 596590975 268298729 827922847 422519780 853258702 729594907 645613658 415383801 703492670 421005021 411621572 500133397 199393365 379462123 164444187 664999958 768039668 104702672 233158843 902722786 422050068 232172157 509180554 277763363 420469446 678967100 173033193 585479791 503205461 252617713 438542315 947876281 911615955 377106855 873531439 344001122 706541591 661914337 217678274 115963417 532389099 794584272 838706673 770731407 948746524 358719586 557755221 700374172 702888498 879549039 282834292 398240619 160032069 171827139 828612062 306745029 551455571 645144581 401202616 486470119 517380975 809811428 914069647 306755825 282564514 497752765 820470113 737987140 646233475 341220889 644903494 491627123 909874134 970058452 103548868 192623016 222551297 859604981 997100220 517881016 391591672 481616752 595339481 302434980 858149082 547989391 511460930 713737651 694825125 130131808 688860840 938493751 323362992 676682714 273647162 680912864 756442980 876984624 555604734 124622927 923274076 129025125 941333142 985081750 383319061 775441070 544705617 933623946 758293974 143263660 540327743 237775422 185371205 493432804 873843530 798096410 312871773 994490550 926401659 975840343 892579618 424763527 496888056 448978535 124740309 102595638 588960994 618574850 379894661 449540787 758093148 384316665 785216955 815781791 553191563 433907869 820619408 270215075 384434495 683944129 606953855 868270103 681906579 891877689 874378936 462693032 135803383 126612652 323226228 148968542 767293229 449174269 146884344 564322692 592135070 374470380 123100738 821394031 262117064 539772134 253592746 391199687 551309133 132870102 628214608 429421756 109879681 329888677 260248545 570359809 994856740 975305140 734357399 349077292 256216917 762594602 363884436 644183686 816080747 335221238 802530105 177884488 128796745 749307746 593746313 802454772 721458865 981676525 902847393 223509249 830873780 844521389 710469231 279015651 749536645 911133303 646877739 944529863 638890892 223857710 819101673 654924021 943693459 101080353 853528884 295635342 893698681 436831431 681260461 253068478 399448713 790011210 334150510 193428447 920128946 617783804 579321729 195793364 376526740 804498838 494234653 273209948 435444327 994695825 262697421 463297066 859117787 620500197 925795797 968844667 106392297 491262993 606871572 581713637 818166651 901286467 605564320 462978021 780705059 248942690 891329457 740936039 922605627 281711468 857350380 259231208 740707270 570769646 774681312 187114195 311621722 479564152 245464014 955518871 169472649 483050014 357511836 963520050 258896107 434695017 349860815 186939009 744484221 714506231 832412691 772908224 994795892 132701352 804325717 576846311 242438397 688102570 530513405 484764829 391511524 180955029 998609048 954942100 389596898 828731235 217515568 414398041 436032558 580749046 234467749 716347959 153769803 289577166 209818813 353126541 759478898 145360691 721777213 945140375 529388077 917484992 601771587 832328138 831102252 783747060 759577521 278591625 903906794 995933885 165196523 960592907 450451234 695597012 425648349 487699722 613237764 706170145 646404199 950968539 626754361 118655487 107732015 164048715 472219239 703937516 710721188 851131512 325943001 845550396 754909829 458358480 427733660 827074823 286190697 891515561 247848082 115891310 152702858 215597840 469029845 828512072 338218714 520139228 828464002 461656739 291994589 632748771 494411351 581255046 806466678 650986630 827113869 932873095 582364501 118033341 704425769 263264160 517489544 130981521 326205967 159768924 813302238 103591150 965407831 530457291 542647307 297154794 841221177 721169858 912544739 893495416 341682969 393529573 414517821 684953656 918122602 574269639 665769043 855325595 669322562 347153615 841269660 139987520 821109776 995384427 917114636 974746732 953833619 533880886 994660823 173003330 152628796 371655553 363437390 163183430 808721355 583897336 234938915 377311561 449250183 917467878 733384827 390267067 189632966 564250941 690393269 702558019 260645245 531710942 448637486 177264273 196785082 312309166 835806857 554516688 695185019 780695557 475659469 632227138 914878123 447528607 949752855 925967225 128501409 611485549 192124243 532229022 161597124 458902817 430960023 834235412 722103087 245200927 941445458 389810951 751309940 192616740 696508968 332808896 622019671 152075177 588022668 126800245 246586899 154050756 299444091 932317437 149796918 634738630 875492195 951771688 506962210 959875884 461919861 283596104 525338915 248075690 845537961 370791752 424605304 352481774 448601648 376572619 518671445 216853069 535753758 420106816 311709637 719368503 861413682 266808869 886279103 576112993 289020288 417143164 859435971 911558913 674773285 695781392 335200189 370991715 421460664 680218856 246990212 470067836 720421502 731756922 549308300 513515588 456346233 732640401 533238943 862395159 313492664 412894824 796372954 866362603 168638725 507735748 865727724 790982782 291658578 793964193 983477958 173495824 395966323 377352240 472932385 588699757 632623776 421179488 467700401 214944046 570480274 862013133 293060359 762137686 415294903 269537907 680512268 751358215 310290704 641054324 175484901 460982567 634369344 455993866 845242844 565709415 903971667 643111224 172828217 395785376 308629529 863059073 145837486 426347612 317971222 504919837 215540438 542684260 860713413 803084699 159201716 698314514 309640627 559486640 596042034 210660106 763380599 766954323 151728196 278481548 703958438 320312796 947952098 230081256 439483301 331535988 219998964 385568688 700417790 623032077 407934669 221595946 238702649 539275359 418245668 924518836 748470724 787684460 429528937 222580221 912162937 594609330 862553535 312002938 759700188 580470819 106836746 110517952 807158623 590232669 467910540 789464625 819051080 895937942 984610926 237229553 311637308 824242354 105155155 580876275 638654669 382962788 992038115 757716340 307814068 220321843 791517501 531741904 104655613 435557279 592063036 372720246 523993930 172553983 945666382 949909410 389247626 330775152 119846193 865833467 562529300 685505706 326017180 892182569 859299250 751697027 193239556 859694726 810320836 265586692 497862312 632077806 147263191 410493259 471804608 511864652 626233368 463185633 298999324 300309804 834678928 304713315 541221033 574667042 405976921 316426618 703907778 141028494 687551332 435142122 356971050 483779814 581871989 723124430 184112683 244657089 812288610 403955607 160102872 406796502 737291520 701309213 520693820 127240741 183825913 174165788 493576198 226158605 176521251 122393146 359068807 630996218 324511783 765372651 911458097 646791246 353270905 335186578 881890194 498650687 534152616 303344161 896707135 863861694 256558937 995625498 249795843 580613528 235221440 249717473 672403721 216016876 954880554 259332808 598251353 180041301 430172866 158213374 433000771 166885218 866482709 484072381 687663123 310242685 174128596 453532834 125873997 369137747 566670258 288149343 421921605 845799889 195775698 325149339 176750516 169595180 303697661 654355467 252057453 628101880 669447478 113436571 530372233 462980020 212038720 258741203 849470070 872717911 179715179 686381414 834907130 815670044 697442744 492623963 101243492 959564420 327248267 941028293 170458607 226441158 470349017 839271782 919919342 406043200 265652597 360855625 572739149 612029401 511184662 596923910 130810912 887381778 870793639 867615212 530558473 750151697 137406180 501378800 235131227 610866479 802844034 107441981 177814404 662378185 429919986 336357694 396749433 688661319 926562841 476471081 842168322 695762324 218489581 460957923 102477500 445129601 501143680 940463562 222191378 403950563 733786996 537576717 542122233 969324946 455915123 705128930 910118867 871075902 565807393 973418432 148964823 200941202 905171100 216261014 767310188 266813513 786405143 275266661 956142690 186709465 657473748 829697858 585941744 510460353 826922554 627125983 642546563 628050679 325079077 334905410 432618105 288770067 473873836 119086521 781068242 668993710 818630089 472644637 346686868 634375297 641735728 331579101 587670725 981743035 517741630 561821112 349783969 995811000 340718251 525937552 929814793 563405872 299013990 136540786 453667249 608670528 407396156 261582282 108959579 679330236 826149420 327676602 890812052 722646599 215104691 709015780 857496572 697907680 601084885 602234913 262846618 794615621 174143274 613179761 645152658 142631048 722324133 586141361 268575464 869388914 921513369 571848957 683770357 749599168 465683028 787942146 946203947 786385192 201494271 391176001 392526597 580795592 141318973 177102535 519008826 207581221 408919912 652417247 237911633 443627196 151597587 396747261 423625925 773274266 943855098 150275113 185992656 718579382 463755151 521032158 214937849 194809295 889669049 687440286 174171772 323585613 340516314 293276683 172753510 711528418 434210965 435637323 118430536 601222041 985210074 968664911 896142964 857338280 730737424 905227379 440539715 574478782 195374343 599401888 818461397 422079136 452123782 203769864 597422535 718481461 460058745 799850643 430306202 487117721 144071221 198809217 631652821 553204017 177384749 620619025 463034289 918401638 878989994 711885008 954845802 253770422 551544029 498125600 568365209 821954972 275782419 436567663 156357883 903445074 378834163 550067760 738211199 155245195 312496669 365111426 757039388 290360086 941955670 831469662 414621380 665973959 518031437 242660173 810350429 824132603 858878366 474437929 603767782 818726453 716681438 260340674 126060389 144282519 991749576 126230664 191532461 390515232 829179658 628111618 793383106 542114285 120167005 195194119 660950331 922950803 565343995 236147437 585503302 947293973 617239587 927857560 380926402 403732966 840878435 495979793 869086931 728004536 250933707 834661140 849328225 443762323 599755489 444131608 488243229 815898691 269108549 936221788 106845499 366812114 866089634 631341650 915077472 259886833 413324837 575108516 661180485 850086871 392135156 736676902 353788290 590464810 292810432 797828576 711362387 193980649 212244703 671838389 977341009 263639889 506083960 850293485 223349507 228184983 474128755 982815444 147150100 315582746 668009486 411048814 871372143 153093906 115942445 342156776 872293704 352673531 311153652 611816640 662253100 938826386 938929202 983481987 264219521 955564037 998062725 407994865 149371575 329461716 664106941 428862521 376371180 653500687 104468102 811055672 915379699 597570570 140623537 995397438 473426413 499204145 247267571 551345743 994526380 391323281 163399683 421697968 620723817 944364731 818116559 556764916 362301356 275974756 771738491 863753260 941002112 498233254 757972250 482652673 639769427 123320204 145864263 686441058 329278562 199456942 586174224 332040033 804996480 514667396 319433488 130502351 660270023 455423516 838586588 435544291 975525595 979397850 780014365 381747516 270320441 856254747 831639604 851198597 553291009 136741888 629012877 476614341 318668749 595204055 960298854 974073538 638046610 944011146 357761806 784220065 965507701 173728761 419413068 560650340 691035607 563426754 868943527 323009948 604984946 456894956 392468470 950292990 927902918 860081379 791443763 168424060 213537134 693063477 970036383 721496935 912072820 474993560 511228758 545606251 319788550 868420720 456690678 689554856 382216744 108999868 454520374 240325049 199133692 123499561 484014160 104273734 399782496 795624098 692458029 275379689 970950653 631823619 630555151 809483350 482838559 231465401 354475777 541346686 457750216 582890808 771214518 968624456 953559277 815378690 364295739 173031987 891086743 431923312 343683025 182944991 725325715 714291556 608230069 901893498 748127417 635868912 740325591 804269779 336709202 483867865 470217504 770094918 886552097 453572948 600877302 437373732 479169430 106430412 959919614 511963514 651919689 478685760 107458362 947641772 776787435 114963844 813336998 899359283 701733252 919101725 127847405 657356023 705021219 718791362 541073114 846734770 248058836 270383812 525153238 879943065 258988148 151221172 103257103 821140702 928105573 797052075 497999074 535287572 219425251 915697090 257681054 147951401 958546511 643245361 657392543 566396550 951467858 661119454 734927468 428848821 972428824 516382008 506440998 845420874 282674177 627713862 773845596 412207273 570913338 714652342 146649822 481575709 187693670 391259870 330774067 200021619 133958927 744246913 300414195 523273022 790483315 371593961 750313953 311095642 874574574 154513942 791294645 909225638 536883060 740564712 631862098 393263469 371038591 204852311 618084310 578633831 382625108 709893947 183494433 532079881 594603720 320804591 899182408 289831816 603201101 210414682 215450458 561250336 705924239 695662572 898101104 230063365 660691989 107163321 196861595 636176721 847439798 744085081 476763193 461258460 917283646 848045440 788394558 884430567 617240877 591948360 472357326 269608527 384486635 608360659 907070969 769715592 308689258 732013120 531156550 480057946 641464460 247303026 151858257 504841532 308728790 652547640 102377820 343599512 784601627 766616957 412920816 468822579 701830539 772609413 827598818 634774179 575420305 461237419 103541264 757486590 772679166 982970871 158591474 572079278 906581170 990122535 947738297 532801255 693881056 167002780 366817869 820861854 703410596 945716295 281673576 271908999 150491186 823752786 926538686 491373890 850864053 412721288 429915207 514127060 177868374 653647339 626194374 671096061 325284930 388959697 245494368 456128540 135994382 324415840 265749757 771323119 341958409 396376369 330631331 645313000 361510163 201626205 211682839 272162021 498888941 847962408 148578692 157935555 669729235 330364062 796158119 934345962 971139112 899777291 794056164 162158567 341146362 510049074 467688177 254505527 994505476 922815733 246243497 226273427 469408378 181250907 813727242 649543251 318248864 604259335 366224781 969656360 378776205 513039895 782504421 190001663 768409265 442617496 187863820 815403692 655094148 713764070 858721057 670870265 648851223 449229985 805413209 646993327 880997558 298533586 893245264 182737725 421786048 743521007 776468977 704079850 914236450 728715988 717799328 996870808 745747627 974680061 246526945 911482971 462472229 562105435 721188876 630357194 503130440 476519386 579849253 631764471 600081834 870910406 119915976 704722156 335521992 318019921 602126305 178082471 323287796 820424866 810571611 807261672 611106369 508222035 612622349 191723483 216367756 231179033 793932978 403114402 826392425 145192218 451087044 336071758 923637926 222816857 137204504 488078138 157259011 956399176 627420863 447515704 451483454 389461728 642473684 948200121 242265611 704361487 372411279 563984295 931339225 483361182 470588414 839830509 130641760 667715113 754558439 575166030 486722816 909499356 755432085 771040086 611563411 514955928 842363289 903413949 781764725 964629793 616016858 261536989 310677317 214333159 988495678 218346486 545168433 856368134 803317408 501419495 948349920 801821987 944531080 618917187 746264318 318266622 217039495 661362840 752590717 682759020 149877027 955739393 823602574 685757488 157784131 603913909 318094774 472114067 528015222 312412820 890520733 240900938 239088443 390466052 798817869 452812053 734252282 567718099 942091917 481729252 126527480 634458221 625134898 958181559 354233051 199311822 921638469 170153535 248793684 711017179 811106991 537086789 209276722 262953966 875523583 778159738 494479846 599754113 705002803 910950780 391473319 618592400 324414598 151435770 386078678 928671873 512421791 181099730 571082077 959423366 351634679 461264513 656415282 818601664 382617215 827932864 827786128 267724740 838221573 725508887 891960747 262975670 962984227 709903924 575087950 650781806 744916137 112817282 937276037 514436384 369394099 730174599 893766767 955788693 380083146 217309783 639296570 133823182 975561587 391324422 746114911 579637575 191294228 191685217 994318073 323237097 882100745 821103011 363313672 887128016 384750719 937976262 124963956 561162316 591708154 437747362 843560887 886781266 263402550 670180366 778135349 742050474 851810499 782650894 484787950 782951566 557573131 149651473 273180230 701483049 544197020 952198103 741629115 908751602 119740726 583464465 974427456 229245881 988599537 359206571 122793021 163866280 812995503 644196903 901055169 670136925 545355362 467955923 203229634 196850519 494292734 212364404 892274968 962081601 926378345 816324344 332561968 359715874 480557145 614370727 704869661 841977396 346591239 518058459 876370148 121974270 610780500 252248228 574971773 382083464 755967120 131854726 602874021 537362572 956534194 180906200 509442075 280720146 694802729 661239826 656374429 573379976 323786328 803594928 556943674 980608469 340656136 708027537 753915724 109404540 561791015 420346402 206095292 260269916 386173133 100878050 261178860 291012331 296549435 988985935 237859044 424199330 522315654 413926506 826152329 786599216 299704620 196468251 767158135 739930864 779413423 121190162 207784959 368431519 921205757 923538619 374136824 723227942 321231329 444737171 929375547 957092524 825607905 712072780 969297786 801010324 601258561 517289753 614205710 823454596 696110048 235794522 322498718 118646980 370331086 110533138 682141102 312834737 763529060 466492446 722452354 476015831 772279888 960694233 220348469 618513583 289487795 269995099 480411054 192176912 619426415 470579418 194777170 333320458 999741807 262054132 412205675 726453037 342022934 300131356 606922502 602058554 529551699 849953243 706040012 326072028 138616159 860670547 811887577 444183384 941292890 137143679 180785102 993884337 923908997 709412820 670064017 915351361 757236899 275259836 682840645 263463956 667671702 262227692 878572382 251217743 871570713 923538899 865189071 549915489 539085308 714072201 834346993 593489365 795434845 695592079 643428926 985682829 518437086 871292555 214541516 494271563 303397757 429490954 705840219 239673272 676312227 342212056 112521719 497289650 400500419 220882191 233908052 264570930 186806460 406176328 352728436 518003398 460912336 376095351 111138313 399324925 183235477 493147041 623071161 582923172 382613068 113921815 533520693 532949129 995235375 876395245 558659858 930762678 204744832 837074325 418079087 343477034 736160827 777678340 343299122 683254714 362739985 908285054 498105410 291366064 694025974 298575657 168931643 137721592 705360461 415852927 413528251 799523891 990088425 535802954 434059744 714284387 855365056 775387021 660907309 116627389 896249975 900560179 207758308 313156494 361248454 145800520 319713725 147857902 147411766 564387177 285396999 206796475 959929212 990899212 800458955 307460917 834243157 838706876 898972472 583583899 800506739 756132914 897761116 586969848 611631687 871149557 953202694 378629413 400517651 915770218 978707510 710601001 138541716 344028022 461130634 105405799 644399447 205897452 399496131 702105580 527609927 932821667 380657706 926743572 290110256 604171916 154725598 959222109 281755719 524233311 888424940 776644339 228293219 296411253 941247318 106035722 307491906 300126020 539856993 593165708 855594026 789170598 484143357 648004578 539807096 178339380 773918650 738153078 353571790 302962646 632877230 814054396 484705361 963089900 177927208 864421522 962829348 968608065 908885493 215838837 287953094 917134056 100861875 687234831 225573664 536091128 100868435 514747162 595164474 144275477 525186332 564876214 928018660 516828629 995471783 777632326 857916695 612480147 608024370 100490101 786525451 273355396 426331655 725691902 353427542 214334931 236916536 679006762 527721111 413543496 770960915 585060850 748857700 581594590 961119492 749694918 598847858 157837659 863522567 745028409 888805633 294322421 152538864 514428543 804337242 372301874 545413816 259280559 207487904 632713645 933196849 736221011 260937076 698507390 755500167 389413384 238746066 364534110 259003174 396957586 609425699 284869485 195596229 770741767 196224897 485995104 651840579 147506528 228877599 516114894 301505379 191063232 638947815 838367398 704081781 759204007 513890308 828011413 725135363 994965096 816522322 386102302 611271931 966267046 927165350 820664250 682771510 618439490 492955465 627565446 368583985 768439906 857407018 152505355 443625839 614566316 191871809 322948476 185732775 459045688 597110455 580608226 400170114 475299743 934860228 848869334 798539711 728343943 156307236 767859384 443550537 700679623 721223623 787865344 934865745 104334228 262240453 287972146 223342885 609944502 757656010 274356005 962904376 274249674 896793706 142560276 434905078 561281397 127640135 737277861 554916024 198902795 908425733 102729195 646259404 482554601 835778162 354233252 681397774 564330188 841972569 446218517 949270242 280529783 329291685 585872697 793761801 950224915 419060941 529985099 632156663 717605654 490816206 826686091 904202869 986068792 115427175 708751199 949763854 507080042 721681196 795278690 195393618 877629395 850132168 782998896 684281625 155487845 902257270 901355288 665656171 276391713 363234995 733123609 815418448 608252188 105778111 685379006 534561052 569827614 168853559 772805249 703709919 537124762 945883922 716321116 760677413 346322632 595674821 489001958 631815228 339973708 178129647 188258952 109235260 381740734 116714750 794913411 820667079 394581207 506168975 265992172 957711091 275457327 177136195 853856454 410427965 991687349 994494657 870977672 486358430 818696860 754676595 604175339 210520791 538066977 152828269 587778137 820761638 809031346 628642461 364418106 244840912 410307922 943054797 129719255 339562422 488195589 731602599 946945125 458488985 885433210 454644360 219989562 612481186 295365210 563101084 777153506 575922652 916215722 382634861 173974223 295955586 163130422 873692473 806471629 681227791 124945103 572015131 553151251 185144482 567339445 905653806 667837123 824447039 540112597 693604331 997674870 958605506 521890303 879603523 668801508 274499892 566917214 859735845 462131758 618101603 852252926 606016058 400157245 496687457 789548699 360864752 550049553 551259249 371552073 145464454 850036405 558460758 672189703 285287026 831309648 373735552 666449049 591375513 639349931 776413878 144770491 382310830 211256068 688809306 972039968 160868996 346683490 857261364 404219788 454673337 217943963 432122177 127783473 393077844 269197781 800305485 348688502 679458447 194028007 710635524 191020655 692327879 639367663 908715820 345321146 714637105 644608692 631302975 440865486 919603132 941785174 785335427 986182004 434399550 307156068 859868197 617951688 289302322 466860274 844744440 400813229 963875317 471744566 877092598 997890165 149576510 150749153 890275061 331883571 664197547 417091729 468570769 664602118 423888054 517342761 187958705 395585986 320599919 104208081 439022573 681210437 378729760 118985244 475739319 155651857 462624917 258493880 545378613 559301329 290615420 967649843 661633603 544329540 152155754 679966136 102273560 936959227 474902928 491369540 121586317 470839735 991058185 503811271 916424714 893883526 947282976 101692081 463144510 631904986 813237685 998995708 665858988 393876561 838177142 213945593 744786883 552666335 720763835 129130576 501223299 577207804 346480264 438425635 407703217 525943347 855576592 216027631 681976442 605864120 329107755 614269997 407571648 830855323 523543298 908387708 261594388 361826691 403210861 480637168 422012324 575974061 478349616 693725740 206104126 710579487 850165004 947293647 271065115 536757987 848720489 109631111 129388183 887772003 569001522 343257534 939312808 553671934 582982596 829775509 551662014 834814753 736334962 545128769 136470197 183727232 953144295 430988353 244452768 879735170 395220639 713032363 955069563 543928323 504005208 222248965 296255551 848738669 655185591 162171055 354597645 260916425 290718629 624662192 882220735 865544433 564971387 960252263 617072936 770932442 847679566 976055242 936548436 202528934 195441296 776462928 277552083 140098814 935570262 879962477 246621564 552370412 199750217 406903964 954872280 506825124 504475382 535950531 991713535 643438406 654302989 304613964 701298885 555650135 792734322 170855459 783984318 667217303 641364203 864483820 806368246 727678870 888274300 597037779 362097529 228321282 976396246 902405031 133360739 385136122 373848976 367105294 585500834 454388777 381421909 703668011 667087018 991712714 190857584 613280963 438293011 492083835 825518801 980878367 732716683 226719415 861021951 606829043 357248233 896556385 522296064 191394349 407547535 417510718 539511402 291124796 932223624 267198528 137935062 990385663 445011410 351586368 465347775 890830242 608169883 371020373 208939134 672216460 993978105 177791128 177253783 291992718 119450612 862201973 832502988 187421228 472387833 688045382 901388033 347236261 199075634 760667039 385164577 465844678 383988022 416612889 428775431 294826263 433267224 137249446 954980706 818664610 450668761 281443437 824132655 453941488 150239020 412112717 397546241 937703118 512518729 865283746 406029127 296424353 945272428 998491071 472680323 167023280 140133202 897049550 854455044 468234699 505834177 695390634 217143910 561208713 369776902 473668589 581330943 744354792 626853093 922804726 160634684 480587340 684233277 841268861 682146378 257597857 550707022 433781805 437645652 569394549 866288298 632062743 439618050 329026516 640411600 768327792 938765497 204743744 817456683 639092479 762476447 765956555 112630451 183963930 758258616 360621080 533453468 785929554 154054453 223000474 699607183 614269996 380632554 554213787 536950219 416708614 430595345 426495741 785998745 127741127 871760412 794008479 865354038 450192706 533078163 389581546 554309993 229558465 759439178 206452149 486031624 949239761 382468842 992523363 237048907 913814317 680764028 927339497 713608726 918222133 850013664 498287924 556463616 438073264 911389454 589575341 521970127 374831971 832018841 172187864 520078978 563011504 701917427 879258233 463796458 366616570 523618161 166657410 134486550 486520583 360057394 924253076 655493145 984733887 446891216 197516857 970914222 649099077 552799820 246587808 743092076 516624161 228138943 405782634 383478892 885185341 315673827 615533452 489460842 177953418 472844396 529157348 190064333 517135793 812253801 609584487 956514463 482469417 690708616 873926278 687911771 474134731 878989774 148636198 352700551 737797883 389497537 534146848 315167366 159582574 802223377 383475265 380304459 382104604 465097787 328510536 143516543 791089586 374286855 949445642 374445866 477370317 473977124 138616711 509041868 226851079 107798881 452323394 621494428 796157770 219620617 117181142 718618222 606138860 467487527 260167645 749180234 566642950 818082271 193688520 282042792 188170245 199291125 307463234 333055636 237703494 925807697 419922961 194116376 375193477 401140788 786647790 407332567 214087535 321223404 387336445 901281827 409165900 815846687 474049405 181314290 438105243 475531622 465157133 556124239 315365743 432288305 487613634 367387580 819916907 791862618 887689323 554381815 704921887 113081513 912677833 533671805 657980265 874534656 450742263 673418477 811836008 259260517 694196298 829176600 886466363 133617698 210471788 558559325 345781501 262245118 679678490 369473099 833613275 515112992 475837566 329099128 214043512 468856402 159981228 937243060 366132441 289540728 504061632 112247095 678892129 409723356 634589418 862027167 681138664 748160527 109418264 630098718 222027192 319299553 743366559 676597677 417676397 405912497 653177159 400181241 568114374 785588314 217542982 480627133 806207967 709483028 719603199 137978183 811564595 172266840 712314041 923727521 196083358 165828864 172666989 494137393 153477117 768108255 298243278 120302136 560229938 390865681 146695685 144970623 753794648 640617416 421669224 301350468 873743605 267942791 287427988 738170757 749881568 435637545 177784241 153973801 681965042 558072703 417981383 157721062 216250478 317641310 275339635 780663768 289779983 502412640 730271624 159656733 158489222 649402590 559376435 422687305 267867356 616981579 646600568 156991231 439797202 760440751 696647991 267207146 694570694 746143784 914345716 126125756 499057297 473518513 181979970 781269865 578107962 294202376 377586962 606497171 199662216 573409935 430489244 282241493 617385510 531525417 198196951 250379758 441411896 417864710 940626688 349938763 312128377 626645629 110543143 112027349 458266879 525339868 267530798 559113464 698743774 705816383 265095774 784069653 367934065 936016354 245005866 943296942 493437312 881848553 633177911 308908599 473506415 247621318 658457783 266284551 727861633 149681731 900733544 767591586 682129413 303323363 794736478 559661782 391390969 748872333 806970867 140014232 313131024 343160049 283983144 549426159 893318835 621230433 986213094 356549471 299712832 159833406 815915241 667480585 184485821 775100490 361016499 537233773 440848469 633778248 823693583 383251697 898652591 398711825 649348859 359519263 370301829 629405279 204707251 174992035 569802565 508837283 520170261 556426612 129457009 170306771 887344467 885358808 572769969 612408611 467564995 401154645 292444033 164911988 594057400 522514726 541575853 237058641 148712491 855999453 802012243 124950637 998521094 903449169 980238975 938685022 897255381 252951527 537193693 885253290 426845048 576228348 759657607 209630588 650418587 654607552 915721729 699354869 172020810 580410203 493097993 924568834 743600544 936100799 279743642 386756731 592366296 702723684 254182776 174055668 551600503 278295076 124022773 519698959 918537433 527249667 709767088 447972027 866535057 661426810 330294499 559235516 968084384 517853434 505828849 453420767 133593013 426921428 318545733 881213315 718933982 444072726 787877657 128476641 752335415 519409350 288875759 583441000 758960505 499801259 839697226 415019438 176855593 403410693 358572233 927701162 264572060 421021284 259809740 178791985 341112367 992792528 469961535 943614260 505771652 391450290 730915095 196520095 837492138 754427757 884236494 215810870 187936199 328315753 395447861 491302086 430365989 781043772 397507686 521809126 179967311 219746682 797897328 165098643 385336558 388698326 920325485 399637086 459869524 798253296 946990330 307951269 223725615 411272981 349652769 893768126 374228695 585362295 180137059 179034539 483446004 182290896 505735311 545644004 398931303 932435251 723806055 141016916 373056772 462553759 120786206 322843134 640658127 610412390 578492737 643938405 793454672 108066972 609569348 253395119 200098022 576818488 743558448 181975713 972714476 396181456 399880605 685665185 598908109 901489491 437391929 836114617 700652444 288497328 620215267 461111777 751076970 461603452 670011233 269349081 727176804 539872303 967366430 311433458 534829810 137352583 955378291 112141489 467229747 548281273 586211689 436907365 633155842 540317509 660778363 818248556 406286515 662900729 300887864 712215415 565203653 730872536 398067273 531534973 525001236 979845079 192082819 458807367 797249198 505729188 386657716 117513306 576322685 397839422 988881428 614073608 427142640 724567770 504592865 626642901 857209151 489588205 891327616 314820869 884496607 444942056 595384188 634218817 844265392 487568765 274519602 133432953 481976084 753013185 412260003 259982890 282503634 627288768 804340484 413580214 400474331 851089165 671431306 703226077 663025004 263136708 225079935 933445026 327577450 633806637 747650547 536525947 334310051 181436018 409092296 102239607 276471149 114568286 824280962 769872638 995779345 398866548 815827372 125493323 206172260 874228417 225016351 329861886 312454345 283683892 737381447 132521075 233629149 487527810 458020370 975414234 143903049 364816001 182865495 238324525 208074957 836332573 244148721 186068890 239487158 698663621 829037720 659182928 539280874 670505349 979195219 470821553 963402755 115146876 383837968 851375915 722274818 253758483 813692390 985783118 241621360 425267645 844805232 912275440 407910201 276650910 493228891 722202190 414847724 230004125 976651361 743650757 408768541 616662853 867296344 247790834 873454875 296739280 531669161 624676947 319527973 327315040 532136378 165030555 517603236 918845875 574621923 160796676 402222301 683585264 729396573 459925541 496893627 873332838 476403622 501192642 415594710 647757482 980215502 529550167 316253438 375076703 928733035 284884619 934043846 898215056 915549803 306470597 213781091 863643534 653753794 245715716 767485145 186505644 818894505 991272814 932326636 817572779 893832771 863505633 741421193 466868253 758410731 739516920 396193026 171763409 806304262 795797885 832897472 742072420 458361041 250459642 978681252 532008039 362070597 332578456 285182283 828018474 400861627 309668415 219358069 739053201 878243634 905593675 923935585 205286683 829085513 745589418 162575475 953024174 451108936 686957046 645730940 803521857 580632096 680964174 201034310 419876836 185049771 989744582 664311152 316366102 730206907 337622318 947118543 207347831 216108778 908622159 126529161 363201938 262694036 124203587 849020763 672459562 958099925 884964428 495475929 103781498 715376522 144246829 129118480 202407504 443404657 263225165 728416883 234624973 362393108 813389075 931398066 155064400 827030780 811750608 413687539 352307480 499436929 328549419 384379627 609297288 830973763 473647963 115482162 542984781 420589799 709184690 950947003 531084398 284084394 294856510 465694065 257044178 150957128 101640064 351600365 230371502 625054046 866094662 723124544 317107154 327346545 794644282 892024041 725169043 447018025 978857118 338194366 524882155 413362732 350302599 562791490 335878516 456780653 377402448 194172412 559617638 707213541 651907506 775417390 870818101 911338160 689683270 158926752 857704002 130977538 766085747 412671636 857855763 935293327 947200394 847782294 248753577 632984637 809744267 857392633 963715239 151148197 266085575 360206621 937635244 188085683 477458846 481966298 979402627 584327214 603511981 550474937 802832191 633643054 782770921 621199289 938277276 617456961 688192358 228130625 866894968 434703144 567833812 775174530 857458814 315897470 413828407 387406826 730547600 484540389 415712868 254625195 692931986 839706977 854691295 258770516 233351974 200583105 914432365 268973157 102295515 545062153 946220817 493865372 946328985 429444160 841021702 672744033 884005380 168605506 965618547 380656339 436566508 385865260 149523079 958715914 259096045 812812653 524345139 110333759 988122926 345632589 120609616 717820378 530004672 948890852 627056075 488905194 546399531 714695943 152613749 657805183 360593735 542227754 626861650 940768241 265062774 165699504 376850465 491139065 339017373 218303271 476534582 778562671 152725286 477209058 398645940 232792744 309313094 314749446 170304893 103351046 650451466 449412612 494628225 387255119 170693453 126048933 236175640 762175556 496685507 572012429 234839232 728233532 407212016 467029350 841877361 324162722 755856239 739651560 824546842 324939036 178676847 634380232 898910478 548843645 163504850 552177697 557801033 984502116 343993005 793874396 303976654 656907601 887873531 815067862 273183390 210639386 598339636 578855169 807962666 363715772 667612183 344221847 890120826 181067491 733291777 405440139 706832794 614985614 985330473 754715232 507250475 263511305 234918536 523751940 275238466 324453199 101450874 917815448 642131862 856556827 355456839 730130807 324758039 776563067 548245832 791542510 815304514 248452937 696477756 208287631 961133369 288610802 736887957 412730220 601147421 621576654 488567620 150441017 623464275 174376459 923239142 981060394 200866492 142861761 842749114 351588029 755766572 291762124 646193028 567916049 225895834 696820813 557760441 419733212 819522043 730689285 879047823 581728680 864459984 847758330 542017597 760078924 164520922 489465554 979573110 616807094 970835215 658335160 390518747 556120622 622865664 249091234 807497950 608182747 518236770 593920181 641955404 387043847 629585579 619516454 815608751 308368935 647459776 440139205 469342067 959952736 382680562 576990759 482457970 411799610 982513586 554848582 360495623 535286445 813569038 662109918 172624626 789763574 927435444 147961596 938500180 277456389 550013678 852840665 787234813 658091641 738552688 585972696 995687116 371652985 138015745 992022012 222359343 485689704 479667768 360151945 829471969 670431485 622881574 968697271 173614283 789526738 428401424 238284201 641666025 939365112 339175013 371036240 645237189 513279517 260816498 678039383 594277318 708490750 982893471 729506811 896682188 120127782 610554156 441574920 521258241 512730971 689769929 720250154 701485264 927115067 552589827 370528446 785106997 791863483 608585597 389669859 371645776 729421552 237831606 490749195 370414335 344688726 109795754 642038428 177906394 732303039 877970811 875801990 239872150 322937908 761215268 489913238 822287717 903686490 669876100 193225812 264915309 335467117 895673688 876502216 977733872 906363126 624715459 822524480 786106290 601926957 572107850 629948295 861485800 165686234 587212440 167912460 831834161 829584712 813924731 760207684 110130396 411655890 378078733 828659966 417486733 610359196 416431088 477796120 319622750 171832841 341521260 868012495 156699260 894180854 632675594 582352562 789746027 691039229 938276274 440719566 548025399 460883660 201691650 493315829 758115952 952541377 881893006 829442398 679370616 771401140 905591001 538887964 151916227 576168578 352960404 928940842 781490978 953622818 125587487 504196718 758782762 533183540 630840568 814814091 657672473 353506763 839408734 907635182 996120982 692948722 936083322 824027178 530232998 636750856 355588549 978328269 613745841 184963841 100309919 178694022 780984447 391023058 552333449 114917204 705853329 128503966 926084943 496694352 307324147 402685855 318134965 371968268 769590762 813505537 410082100 507974315 480654746 515475272 296501705 123085718 494919673 612748283 767725180 902765519 612323236 960616658 832099548 952506502 421215601 866817376 332627053 124580649 661306190 698644293 999350750 487835410 829296361 716833622 510006129 195061808 661335284 106687579 103791434 102059260 112610151 866248822 814431595 929515710 358030052 491457994 623664644 667929248 788265384 201149816 782344810 652487669 303631259 755741653 179348750 617064881 392459305 573476162 533423191 835256067 185030119 207638637 379070658 505365241 563849126 716983568 973289655 457665146 341881815 136201801 477772239 456064101 326626326 650280838 675479795 732523128 618668037 111772614 694879779 114965420 790633926 196161397 427050415 351024925 906825630 959823985 191313848 486585357 290623830 996271790 770369728 616286901 637428710 589293994 447381919 872773253 186755730 388842647 749101621 954752265 946792292 273444503 816932852 424101456 347331599 655966282 502514250 189985740 234774218 215480870 671542147 791237836 258197904 616488270 444375615 557015928 901057742 490631983 791610510 423477548 662788998 642346611 589738267 904569028 165905520 776169262 902542744 977509083 573235783 229514589 977321643 241165808 370273683 586854125 172178945 133092514 733949724 867354499 566341174 470246793 412806540 558414050 152951166 621785791 319902765 510041765 319537482 337956309 289308423 955449316 358616045 746746052 629823925 706641947 609269628 509369618 555028063 168779579 118658197 399769245 871559198 525796728 847634074 899979991 242932383 251944337 342100581 246606106 305673976 295669676 370960717 936998423 278309051 526233156 971844715 612707016 574713449 261235865 256940159 354109927 254794421 827499268 151893150 663696011 279571725 738002379 565828799 678702324 835983072 666871277 485545237 642518435 182857205 992960170 764149631 311802760 274325282 496791145 881306128 502983816 611729326 192274222 959044194 727009600 570281779 552968707 854507215 171325266 694772372 367037352 568520294 472563453 409041233 496576782 727974390 499656978 771077747 664667015 246257424 107795386 838724018 333467762 781745539 688173422 831092391 707923412 400840226 783663907 260883160 562044265 534897848 452414914 496105404 903016026 794079028 645913974 845795841 772763192 667179191 583017790 881935522 160186223 692513174 423695871 606503394 479122308 979982709 342131580 508746516 229728640 145543068 166308216 105633364 343620281 493057140 339515490 876241930 215835403 873947825 245858451 518745742 297567039 675899004 474104912 435044745 523553840 812764385 307156038 510041168 193520750 486580176 608874403 815121753 659256570 522885553 196205299 827838840 691739189 208094099 793305251 682247822 121308293 188709350 822723356 337534310 272791625 534771283 778652539 920322311 137259891 526135617 328883645 791236200 580983584 922253631 319208926 418497896 156736412 302472807 914582206 898056270 379195280 482372945 496650853 785892319 202668642 890495150 347458384 700764463 701978080 712239722 331293862 693001597 378167563 569580605 945573791 552298014 661153911 357860457 518822654 193408180 530567176 190311366 912233468 917473555 644165556 231614289 510901254 187539597 293063971 645536645 996381705 447792143 632025640 836910451 881182411 946625895 741488575 259949529 562839265 632177661 757663016 120682883 960375274 468471567 681101388 138645615 572026224 141270163 508207552 822268558 339295732 501542754 406528842 740827815 760625065 572321619 668893952 409478985 757461888 554982497 570921364 283512936 946213419 212487180 505845730 196678076 194511504 394147001 766030061 823208706 901776828 999918705 398517233 938951304 827946157 404573987 827528388 372744763 920376362 816709715 242461146 911684444 643035493 340674719 985227921 344585579 635563430 477640754 137406350 719803277 662062110 816526723 971311950 767328265 273347983 407741808 494832304 686281628 155033339 443037141 585834141 464246928 899733021 207777640 429680547 991987697 155825264 633851184 403955379 250213315 196937632 319368265 747072432 779767200 593879286 529021626 219615968 785822838 447114867 440756914 890828898 805203461 959911482 539077001 915221055 147433416 226041471 664980794 535646566 587708157 388991002 489958116 860200520 636731419 260350205 671021390 589143855 473431433 309538198 824065810 574463274 683338761 383400365 980201208 777200228 439207762 223424129 657859772 234570580 705196581 307734189 709006931 445597656 437104119 258589089 961100576 771269288 936768177 675803377 917686488 104668011 333080053 496636229 240421592 346347084 902417559 439210008 168745634 227124958 905244936 793565988 108390915 374128159 824049754 906113863 297024608 717842498 696408865 846174324 678144323 501982127 727326812 812233578 565667692 362404902 648284916 799627846 123583681 261938861 888195537 283687008 721910352 920163451 773024724 223325372 843265574 882269162 313411437 849177431 422368343 582742753 716465361 848547922 830124301 546731214 129046877 409073683 790367927 235591529 267289602 214798351 582698007 388396776 779674907 248693096 571304665 455210081 164099865 393086795 135886739 140581759 411246903 840088812 505653237 626700922 837231580 302894305 969751903 191882849 219919898 508105015 568561392 215720986 908213098 352289067 895763941 927288646 459633153 222477483 242524255 355599253 512314775 629894379 649815047 841271714 240290711 957472985 936017430 668350160 520652233 569796229 639274759 838356615 642622235 508530243 594858505 414794523 603647443 989595783 601124330 472567578 937863854 306193478 988520072 372270803 460361517 310827327 616590989 482139291 324336283 434886577 259261468 929156782 172879175 431301848 386291252 438995855 247728543 448259945 245340667 470048193 125106996 496525387 770771689 958712698 420295891 556117915 931770326 176225132 822978849 612642832 931389673 517685763 547665973 702121608 647145643 614416813 838807989 220659186 879221012 232561951 799695722 962607501 403390860 336172674 469483961 998150960 435726934 536057664 558133480 831260874 460729735 474845490 354837971 142976305 113216708 388648933 894727343 598528020 375691200 992663274 170411640 105114258 224230731 799918385 204503360 810609788 499052659 308388156 518067474 121823292 912001135 812239305 355032277 305929718 563511855 847469860 873421959 856474941 631694472 776212892 218725838 112117458 426910203 562722609 445281502 114050487 950909893 488891414 980458495 384723209 353160530 668957636 282933204 113131596 566940259 977860788 819242594 876041373 715784746 646157350 212881374 231409853 782626178 978154805 475989697 797927464 773585589 384525055 951074134 481537734 970363372 684570790 803132609 493629889 571537702 480198138 808111359 924530489 656898316 599393481 621581125 525636334 708312992 275161510 474620547 627042804 567290781 620445653 148212167 111179033 259624823 758268661 706292718 284300602 356848071 726170903 453626416 219709543 640969050 930612874 531288431 386141148 339984195 223401196 792282330 498212685 361394655 193952414 471697705 186778444 705605529 572152582 312411728 409909299 874013662 536483160 642142264 243026646 454342325 634118527 551629017 801431269 887548696 446268090 426998275 366650765 937556216 796865805 693585250 769701412 153268225 677026510 548950005 905853567 907131840 243510198 969824251 710705803 563367840 339598365 811824585 166866209 989964523 293709842 419044977 250052615 619085049 672180904 889008960 930231584 367148191 986435071 892233819 835781528 477740050 602842655 635538066 796541298 806809384 376041000 614147496 435457323 212508015 951221336 263136036 556295129 812440407 874173106 387853024 786458565 994310366 936146626 244377339 299338786 416194549 511032857 317127545 417489360 879108486 246731715 327943874 429986806 239738318 446056519 974789235 985918613 726609976 705091767 357079326 996619453 623030392 711349672 333270940 759910560 475734433 258828599 197931452 228880742 215759089 736903467 468186300 319753208 149544790 679765986 307212908 142618232 236857945 412927864 899516003 482955790 999444178 109552032 415226151 308668708 477758780 983461580 512141279 249132576 997344156 318842146 740064786 161931084 172377182 319460951 784119766 299190516 958539388 606317418 763715088 942623665 729116852 788090821 827002025 384839581 362441115 900466402 295209256 134854486 619647686 416763932 866655916 700392492 920289326 231417634 521662650 579320959 793854310 531898451 908908878 186734561 732469404 164754819 583237695 933386940 320992523 461179466 966047875 134616201 780346185 775582420 166576596 747665743 498309832 691682310 748574804 406636881 871602181 932220422 924560371 876017343 931597013 400661114 819590510 755032723 830112994 320877634 508018612 590198830 447077977 864036248 210069420 949576381 222182295 536158761 766748878 688480314 861270317 822620340 459303074 681289299 851256791 483458707 567209259 153818810 241624967 467678872 756033309 697561370 894436717 587498842 932247329 952403330 111796636 734405950 483290535 816371079 148436035 752609792 466896289 967722653 480651395 770392827 790506757 533469843 240876687 621442901 261705943 301833920 771138861 215564333 440432035 853169275 371594068 515975773 446512414 465493733 113297413 964367961 717293744 309200342 229224303 880473741 920928696 793913544 986526851 348071136 317039250 110589655 145516902 938091238 556701379 684065593 345450552 553362528 189224853 638033936 789582568 631129467 995783070 445356215 231233974 419851074 105847335 301557918 645491972 837096492 466385622 772635167 500348480 250634207 540254560 906369656 487224195 484499779 119252987 964057803 632735037 569111429 935484099 162735062 263536510 175187684 514904791 417206082 395503491 468136850 241535145 424114997 334771772 950911129 566323025 922799004 720613776 226373556 411669730 538288761 542077472 120216506 793168073 351147874 208452080 395602547 412756324 758323132 954029714 262306167 937640209 550560078 948976470 544541247 294207542 254395860 504086942 873978667 626412321 716137907 933984667 512802550 139259460 995042931 581818812 410986863 795432641 208972876 683954118 331799304 159688552 456735805 461388689 196161322 836301062 283678328 242571465 546953815 274990574 710055572 372829887 297111867 927768592 412346461 401416015 608953058 548762220 744124720 695853249 319067191 569023516 455540531 810613980 644825008 431895396 745188517 454893983 125480875 640707151 328972444 698170187 535821601 906182005 760484545 260632634 125673595 685286127 880243934 322672537 769857306 422606713 185955256 747649534 806893704 660864656 529063203 492490736 758269248 274744510 990712625 906960925 646934625 408965752 404819340 727793730 940600671 836043263 745049773 327784839 362227352 710889716 297741187 659393370 983175883 432430030 642078178 128688854 184640039 425938509 688500314 272846603 971029650 456235505 289025022 549873081 826753879 818211923 453124822 601053165 687591698 405119460 387506601 705247317 718010991 720740652 516525022 864695722 570753533 700516771 399148458 772767326 276330950 150983329 553553412 220122828 305082280 963949425 404278228 296443328 765671899 747076971 110064056 796313127 931531588 401694953 788234082 638484137 955285683 948107578 997537590 282854174 592772217 903375955 721738603 492319325 755248079 798958852 387284615 724485610 209011095 332070666 975684573 812006981 292771482 466773205 326672284 825049565 727512952 492159522 427642279 448898754 543128960 825378444 156622768 332444870 462126174 939687734 883613198 262382323 719465206 129206798 147336563 372281312 551699762 445042954 579750056 910366372 192882938 163437697 297695673 158060608 715188577 937626059 556268803 629577089 388811594 469704438 422432647 889295384 663033768 101027696 566172158 103311336 961602751 767745708 863880131 139081550 745037901 847761918 111459152 225190994 733936477 625201219 325277391 622000277 521663893 788189641 610250388 440917086 146077589 512123399 741159704 439513861 287879349 397670121 574916207 180220527 589321897 241638636 673598362 703591813 413312702 379395862 682694565 836848104 206699494 543035802 530190147 715052252 719956036 287369065 153244399 799540845 937885616 406699031 992005371 245026983 325602637 870766019 280694383 255843586 204627491 853729960 559846684 472872667 870324505 942607317 937133518 832013066 148085571 157322553 421166940 633098798 796916717 270511328 492979613 135253668 169839665 469040477 135983801 792205096 636962245 614004670 313657135 368293478 898894124 592285225 527671100 232237350 801417052 550081077 774567117 268069260 983573489 541256727 297212150 540398454 778665981 285071699 508136845 322420442 562528104 233597694 362420407 373359595 955749787 739785157 222454853 585583357 771468369 615498256 461823578 141628972 534846189 217769313 578358142 124076288 221994465 891358248 468154225 711915175 372394729 156428405 399811902 942239331 505741793 258884049 278529856 971341529 545422771 237742367 600917002 408649397 862709628 810781566 572440494 955255246 527417937 301814496 807684459 741592119 452919804 139123778 614065382 264956978 969972667 638192425 550933462 775205005 147664922 205277976 749072446 249409279 902660135 360006095 441125624 662904439 960043668 659797304 982337138 301132194 834924115 834387792 561802186 606705261 761355676 616249167 163804311 773140900 215612579 376174161 937159396 603647719 970534455 316511342 646366383 411756630 718657694 668738747 330809515 454180930 234097616 524835933 140802706 849697571 831166590 344745245 913653632 522682691 727829884 822437411 670291083 466025274 456616888 268260996 624774237 596798011 692073541 619824970 421241443 379285981 193120690 838023121 367525336 477939244 430639230 232245848 627986288 909615071 796696461 390560369 388610699 712345504 386636801 239190493 958840632 964454583 943447296 855026972 271193251 845875099 450906424 796810886 849274718 333297536 202530991 219379152 405894182 263502930 882645219 859757772 447434054 170923114 174863176 986716014 907433645 681149575 140548981 667615033 854880360 274218383 198170928 644905585 157970081 174874483 164861027 150336580 403028696 313166975 346694714 958719260 819178118 697961019 140036294 937156200 302356241 979591535 289679923 912223866 560373012 180686421 471533539 810932605 592192380 720366143 215146108 737120197 322079852 495456911 741268449 146081057 930344311 440163034 246798056 429264283 419051060 542842897 796097582 397964724 509801356 485195804 516697445 482625999 745290711 399874410 590627290 972314310 424628592 689292762 132028893 198452631 600680867 980283534 242393333 401506404 665680902 210107954 138436568 547139864 444595869 631698383 541017964 284386099 441604587 138461248 797507592 853852947 134549361 448568619 115078588 813466193 424363980 238006664 522520462 376626907 696491498 438324994 546665666 110754302 420419636 516672299 668523507 792190093 534966876 811710829 446436010 211765064 629709846 708304934 500182363 975660868 822850982 462284524 450313085 757428541 904884900 935139676 228877685 685055281 591750479 582114645 844504683 511841285 720740881 751559900 405639090 796521278 780915111 159117958 849354666 971884813 449923376 626426995 630850894 843777138 959179078 513298933 527601532 607059793 933747221 293360481 270292642 643447067 799822089 674324896 382916364 486975201 572919000 359520747 728412000 708142475 294717189 797785472 549449835 881759147 525528520 256010768 379006810 383992266 643696937 153414634 460337636 433342182 826859030 460505425 370642668 455657568 114512027 913591092 597627761 891996526 675565175 914760227 760208549 745341879 894520592 836568957 395500797 300302266 807558432 324968701 679593218 448205310 155947843 306126643 713618548 954957542 469719181 757006463 630626543 967303285 361181560 243741302 247189532 165333740 259720135 896123885 361738782 753848998 919062155 815972489 750053957 342745540 422602795 293971907 508384689 637530725 324203689 838259297 454198353 474716202 905936246 290121707 930859464 415021781 326591988 822683659 312401617 226947814 670989945 392102627 882706188 331546266 988032993 740779852 582956383 578374859 615208242 298220448 574308883 977840252 598532431 398766243 166589435 617316904 442344155 179422147 883299308 946611235 781416255 826979315 786230203 681123993 167969984 913386950 148908751 816678305 260145974 492952279 439111018 359365433 351777301 530447944 968442344 133709955 232038525 598731441 969253451 220025578 561482863 341416280 496897604 501286286 456624877 400688451 235046712 454919315 400418930 447845230 736738654 499871881 457781523 276599636 660028850 440144000 431110914 610243113 801670464 373792195 559767547 312044253 653221521 357658763 935561192 862151423 988143987 445763775 393908053 527539010 157936375 202047944 718076433 793868507 539162781 200949031 570865670 728631918 903005392 745624482 332444672 103828019 233971547 421641739 681884363 324300072 398508047 106763593 850567449 192287940 172451198 516832183 827222736 993075273 119425508 367958007 357152383 646437334 878982639 194961720 409127154 671513127 696608362 354503278 244788042 171428625 623375088 543365906 598675494 863700929 256963536 612250151 659980069 160202170 843088434 979016647 408559234 350959134 621955114 117963984 196924066 821032535 710332314 721674295 230358710 613573628 650016162 365278290 788823372 563782694 224995934 865040543 169105485 461888231 115089798 618883107 102112702 317188905 679745863 186265100 814658889 791880331 634914165 182679514 941832115 486436245 952356019 934771318 189724231 849574802 998907499 907169842 847954677 400407351 276889706 620917424 417171103 310933070 759489298 383339371 582416022 231498260 739280894 720222953 787090333 662874542 251144007 814550046 681222473 859947268 691806643 996256077 380243074 593769618 676403433 993875927 543844642 921978685 822326505 780365064 809035481 735446027 228203701 384824895 336219216 646103519 652400046 361471403 844118274 295970186 773177486 303118126 373340788 228801110 156898514 108793491 991396953 115251949 941530680 224458338 822133207 949939210 492939545 172376529 438704777 527956785 201080728 848377943 225506516 575425908 159100412 774105180 953824248 572807308 772007193 755596072 249839378 861778152 526751868 732550099 618106684 394874197 409393120 978838107 868427624 544493251 457400771 647144839 907622804 951499439 318361098 129120293 489052119 405657879 823723577 539722413 139065787 556807101 675756338 467815407 965548848 195225932 612079593 242332392 827342305 954365044 762294643 377992533 580821436 441723269 956804619 360489291 305400560 370075239 861696433 909046219 777466426 250881387 508888018 690026080 501101903 253661383 782298935 266337549 857899386 161230800 344765702 917186216 638530179 172099481 556098566 851782173 896225254 114589740 887940609 358294810 696261732 548035515 976896032 753651754 131690402 990508752 918939437 990242831 249646288 722658720 545360709 431203465 680101388 436384837 922733094 682015080 645922303 205706780 260510527 429489669 912612269 680289187 454888552 662239796 298838636 399858700 867686459 457341450 270794758 404719088 751142266 682115145 807127270 949416336 227376568 798226537 836271635 180284825 517947842 551861000 926049019 477655239 892460238 792789061 110076217 166635358 885572457 617728762 315806167 744461473 115166704 688106795 795060073 442503267 246224008 865837050 276262572 451981032 603138775 769865317 968287403 909303060 610734599 759446093 793245047 281229197 351754312 223260697 412445090 262637795 858987122 992385821 187315119 599175391 556073008 936175158 227610086 284134307 116407971 996748803 460160806 647168918 464163250 615251431 772255089 602019737 173176890 595994195 420336145 390355905 937669445 573677199 710632634 288029856 765856011 774956290 796893874 866271568 874464043 909076927 241462705 398450791 123141417 635018506 580698464 734612288 685210390 880622102 796609288 310816686 692362780 621438556 182138825 391761593 603617779 765451742 113431936 769313789 455190605 991167906 220035889 406032769 442040892 507344361 879868012 398755407 671962527 777351797 216924534 222652445 335129559 359488086 762166883 357693230 327310839 348521928 257411876 515503957 942216597 789677347 192721041 455118692 850351228 569721387 334470588 890541861 142485782 135034106 393690034 672381073 816617649 992190790 391244761 955424681 274158515 873102164 625506952 660419771 312691039 958474492 666648935 737946613 821363158 444039926 482881803 936084800 687428946 200252294 510629971 947756485 242020513 110908192 242561675 808306504 508627756 695175791 484704434 515950657 916571471 913690318 649739546 366130952 813545732 765119549 210588161 935545542 857144447 933233945 220152375 237493931 196733702 648853534 612853875 929828180 612331283 959755932 852369725 442541310 967460718 258512378 261316453 673447297 836584394 583634429 149999904 741029518 275767727 525426163 550197745 765270329 890193047 509132276 647865996 926052916 224444258 667296340 317170380 471089147 378996592 403194591 924225096 823475925 719985162 349885359 642275713 499744596 980110571 186100495 813186530 898739701 591467222 877680813 244597819 848228364 773560288 794961757 900882283 135426478 528401840 198292602 487794472 229032674 847685037 481659711 117267190 449922090 554481935 475955884 953821011 685736785 116881999 561187190 559430108 943567118 181821553 471647666 238220783 111026004 423537481 222762772 141616044 970755201 590325396 153369579 895241254 555834263 949716755 766557870 796627385 924218578 848913306 199717119 212515519 749486515 404402745 178852857 640426862 184416430 452162520 953560592 899853372 967902887 396784129 485101081 557561129 766785189 898777376 612374641 445039214 612989745 637089895 926767207 405332053 728714072 356332571 608279544 375115727 339742106 410682697 878111942 493553479 668558857 899342110 230082256 584958075 906481548 672235314 339871862 920577484 462023758 564418410 919047028 440927786 361447231 212037278 464366694 980086992 585854550 497562302 667177758 164948235 930417176 432670480 233158416 560693277 891627532 184167315 821368665 243544334 959942122 278384798 454936435 573603028 874716279 603174016 898045477 756252608 739082937 206664865 702330895 898063176 350643786 122224409 127056603 483258558 400775455 191137917 933063454 405361115 885881684 567896659 425373644 586828142 714723075 188706855 995664524 445983743 399388107 154587146 301363924 120021787 757171522 171747918 918868323 737927087 210984238 439824548 366654894 957086219 453586849 544361505 605771831 690261305 457821744 401926586 436527014 802520687 308584807 251857468 260818062 399737550 346654589 679965551 449734863 715619540 986137240 999853017 577113730 300140645 156500493 870706060 803486441 487938979 995690021 771362340 940292532 242031449 915124945 839247931 630882973 989156568 905599615 471575851 151619964 930077069 796274246 522822820 426354455 985221245 535548483 699321956 431655665 743939053 678090007 211641895 516080302 347239415 481043734 250149972 835840920 483059623 352126801 973467889 358772079 520070667 936476059 338183316 669638566 749726113 184113540 258945262 562639192 181621292 429287158 440777480 238477959 815481619 340550341 101557587 657749787 940376278 879017937 853436718 652750782 496009068 895745310 316339702 240574848 885158441 319298593 646803328 853334045 753612054 217336148 624842230 926474424 746999014 472591921 515051299 285474311 837725773 538943123 219284017 984750939 623262500 955231507 261179144 399573045 529078374 133068972 943467242 624026649 808308241 754527483 697265708 855310668 635909283 135309160 482811041 604947883 447514153 231088847 730950558 826776500 487295309 889817546 867489114 755959321 100875375 521407734 141561328 499736044 329019563 341533266 334386112 816425063 794498871 537302539 984730070 144286238 860898207 932393481 527619947 573799023 508377596 112495760 910314643 779365253 752532083 340179674 760736798 769143724 293404274 223424493 170351197 568874945 342183781 418325228 487375203 143314834 464816076 722736777 273336418 616990718 244389946 532370643 483878933 456468460 399200752 756142600 946241029 379675680 306210900 797935676 429936597 863523862 281529302 839200356 949861070 855622743 285166757 350719479 409255670 984850687 127622203 539571454 701552929 183302702 811880158 741763432 185504729 980902182 861609168 775250779 430646006 650557122 603585347 278439523 339100087 322990690 779226451 358481347 886230615 581099050 622446233 673808705 589624443 976392175 612411977 101818782 566384874 972406908 162041605 544161805 509036186 275200757 182005361 954636741 481494375 545122970 344171215 439374993 811819342 612763131 418280396 998183720 532051228 265844309 107861021 772878921 622504823 620700706 206325057 306740472 140651170 804397717 140623663 309685291 573762240 132232305 907979074 300932749 993860697 433928536 654233236 551029946 982887647 255709043 241504078 630694934 388206956 580161872 166814707 728853896 489256982 898542826 932291441 491009312 345301563 815500526 268316089 818967779 601673685 539898903 530000345 993911240 731161129 849208250 408655186 450786390 384444437 215740204 864974484 531016669 194558970 812473998 771192488 641163450 483394822 810043806 761584622 723641321 427428081 105097937 419813378 339319733 786810333 233219335 632176235 763745987 525663419 931975666 179472048 995656222 244036614 802539960 616708817 510635013 616867457 150566844 278714538 935854070 565628842 275491559 832986694 388850106 904071391 205850964 596002803 734279151 831758379 896693511 998128234 704990775 435680689 690911298 827321955 411807936 600946341 786589166 804303265 759404566 136969921 560292505 193353075 703944089 503946544 902589617 851603504 636397152 478040769 617406693 330858113 801135224 496662585 858030504 586240859 611874600 679188433 879162167 511551279 520123250 885648142 947145888 943861928 295473830 110470592 618143357 245745528 806370128 259686645 715685908 728276284 713763268 539550352 628200139 915573062 556849509 759174020 278076782 435469493 565143310 956212960 602130213 866153114 982660935 514299972 809159938 553702199 931873056 189421766 259857753 674945652 960169487 788934657 390407621 186175589 897250375 714945407 672121625 798139382 916459922 503201373 801511234 228832730 727837693 263984711 577742653 446841979 763017238 930931568 543008920 210528202 915877935 518864545 870028903 952008684 573212295 765894718 222778964 455567044 206115159 195903743 394579739 111111414 939492004 819339568 479899764 835765547 414785286 831775540 118699627 528066319 862514544 785234543 206021689 264048693 462535389 854088180 993150044 640271145 282561335 380034584 867488713 468164556 102848709 160840021 484402590 403659260 620015952 578713025 507293648 267115295 512024676 436674548 142313011 418230770 875075612 678124070 597397704 413544852 333559061 327003070 396449883 571603140 356739774 311435338 837576046 559761526 130054112 970512531 766532782 468115187 506367036 173467264 270847686 142633652 856183036 919334860 120170601 118704051 987191532 868934509 363924472 502873535 768608845 996341996 195175088 433798532 126601263 198957515 919085178 827335752 869183474 213361410 643933456 956941235 817548637 121378912 469140318 495020298 970783245 791091236 143248541 540295541 406551313 446794437 192146347 219137340 875072995 784650049 576532237 733354784 314942757 883424050 414335326 962991676 662623976 255690824 635889271 590837048 757084257 578693264 905122344 200665656 107806767 676418046 820986115 130649789 906904606 542821515 454511099 722989667 476100860 168697610 882115165 730431856 154546516 593236004 173968615 593404984 916214725 704387438 193232957 967013167 309268754 604902566 877361569 409718333 610615920 770959024 574498254 106083791 878162434 319986352 221984810 238568466 742409376 837167971 671566255 809604323 918771029 361278189 906985139 406422649 908990137 905223819 926012994 739731926 559117838 768718132 289107493 482524568 833796610 446809561 980700682 815049652 430148865 775866222 254852825 401711211 918834728 985186304 807738641 799353307 792881743 436456902 277298657 974610017 767089008 493723439 730768654 736719907 909420774 493305671 260150823 559798392 387777307 699024198 738037358 740875738 838703682 390187386 351900720 640332144 464108517 505483868 896776530 950642053 835510686 261117847 311854363 927496290 673193177 707041531 339131894 147598898 278591080 644531818 353447436 545274920 969541895 331856806 990426902 299928931 656138288 500271400 462104777 255801247 490824216 535095456 126734466 652697056 678460895 747318648 306932962 963936458 471288922 803729946 938069349 106385816 452038559 211598419 625596913 575832892 756918911 299662685 246844885 249264192 539067039 594220627 399767837 404318589 346304433 330735092 770349825 264230689 987080356 551122106 245859864 637988526 218134593 442657474 952883370 184893195 353757948 919435552 871770283 241305505 616486617 547312647 915960228 427285459 634965974 183525459 873088437 928462311 525764241 445211888 453004863 401607003 776517605 553546783 918484630 428652378 773901038 957162127 561514883 976396732 613988890 831569005 929043389 424891892 288358868 433005568 101927590 583236587 384465653 391048560 132973225 541168502 393891821 518419623 154891088 228304357 252879114 731694531 883557267 839435230 616795428 896485549 574560510 230548165 529335016 738597275 871278223 821427627 853555804 615881265 457392321 912467982 462877414 799445990 941665745 909964668 374034349 553161643 511713645 244016237 552314569 933895841 342810680 507421348 687454792 551993476 296287259 283034044 926552701 204933995 219486636 623930707 194509296 851884214 903011743 537350263 615105764 270412704 462841921 428712456 751695218 886833718 335498883 993728073 844350496 563249686 806790852 860201633 981867892 999765476 452709896 832982685 729950111 589208593 249676200 363023655 666682694 848737058 356135505 948670055 326950309 753024739 494555093 403080862 948354539 981509768 511079448 984275146 374122391 177495667 902881339 393451285 483441586 666920378 562732690 284599596 718316633 196509740 882676692 426977470 598490380 584315809 361504022 140777365 745585193 355510882 335512422 119152932 446811525 563035559 367688374 869053119 385765314 232946576 956949224 483927011 341979681 889692178 341774466 530094171 525213433 676761302 974224129 878277400 189170436 876714495 942047395 583381846 223696620 265453399 292669769 511715791 724996138 673804569 738120842 106184042 170967938 954584276 115304909 669762440 158990558 222950753 268512244 483344326 361224107 803831200 991479705 989872455 576251664 903103223 985974148 203679456 601091151 335335118 603682259 861734987 808664761 135451610 314710577 150792206 935349209 757747695 347564214 252667113 591675425 814870565 157388099 940159360 312400423 301891354 330592595 461199931 191525982 285192310 943917902 653880456 857966225 614979109 264112255 894895341 287727820 232933835 748605976 128622981 213897493 567427392 877833804 530069729 753842260 261229627 403846549 754206963 258101614 424159083 993725711 718495941 516614322 608182769 783730102 367313747 670411494 253512585 862956684 279831437 272408956 998926516 626451690 847307920 673442964 474025000 504679093 868373349 553936983 486968810 505743897 182555431 368043313 513507311 526705149 277757316 391772457 913424811 140755225 839595709 787981657 396404486 602499841 417190425 700224342 381019745 439894148 903821876 892370576 922313106 938422242 825490168 352821773 503763777 101719446 990777609 158508073 985453333 982055028 131328747 574752486 396185795 481583591 625595455 887770849 653101225 739525355 488779728 505060327 975792877 862711656 634674757 896532254 195061870 582281324 782239059 299012491 154663992 589547062 541066588 537642091 257830360 106821197 326264680 879251095 185780117 157478503 221258564 600247886 697707664 632989013 257538089 603285703 748862188 854762819 936084356 609889535 792929140 234889627 447668052 282174307 691197259 612120506 394475453 835436575 770728096 493113332 620698937 712700494 213528057 537821893 718266732 897625325 968998120 455056800 583608266 900955098 641478274 838308809 602951059 457757867 731291401 399673610 840192084 442806069 451676852 129200920 568029042 841507312 188942658 479168704 921505005 988721076 328786352 330108603 696011553 852652806 827055056 683615504 646667678 866158912 535319069 795640349 353316837 350394544 599028847 265986379 282543304 471169897 754666262 926902033 381328201 286060146 144904904 706248594 867769696 692660690 463090787 554691564 522514574 265586366 870516164 313656138 483787679 624024498 864841876 585848241 784573772 944334533 480835806 331473037 778952541 181400806 145039291 577227636 287873714 502870544 408979106 696007945 550666213 570500546 220883041 592075966 683826871 414519412 860791723 830119475 752437193 150299127 376481032 250447016 395907417 672685166 714812699 670699493 683610141 250936175 592218639 848494360 197113517 456172156 901762843 290080716 298602825 280849256 246730042 943478331 700819816 758280698 412342830 614161525 502854533 385618937 312310297 996851181 128146053 116126887 882028506 617996545 722123440 641269157 441554561 698249152 274053851 464236020 700068330 378339110 565696013 673370954 257001596 390141748 946520915 271789419 625972670 541098274 951961093 117068493 548379072 882372245 117671983 167193367 900834624 114218485 597616850 210146283 576208844 545739200 348173378 245959327 748893218 778070472 395415884 737542239 147831590 866343128 869691577 581909423 704395343 342313404 798493683 735849163 728787008 535253713 353871398 228456712 426449225 948782157 411326921 157801947 873883040 941171814 694574789 315934513 732862927 778220177 617755076 824176746 671912343 850457147 877047854 580239302 767844490 576369397 208183202 856487300 885594907 380456703 333647601 660913927 491164215 793336991 621650625 758015932 463328759 550100537 303710041 885284709 111819718 431568647 540024647 815730818 477540077 766504233 385069929 235359580 814368337 449031823 804305347 754449354 212279887 931572131 718452836 374575641 206150648 702146967 129935511 310218180 936783569 952000393 785315786 774486050 932244121 791237662 113743533 781478665 337141672 337078265 763855050 310642778 826604911 577247034 239072058 585463216 343569161 863246913 957040330 224947963 138826422 803120855 125932322 832915073 519717500 479532590 454116081 130564937 213181332 697988500 661730665 679753271 820018381 231234144 767669208 672818250 765943167 229971993 674954172 329140498 373716308 977328261 799594694 258139847 290725512 375760961 883254444 785636352 274613411 874621378 702118904 417006750 605315856 595669068 929170772 564319112 558291527 417530913 501107652 366375598 564260545 391073115 904485571 125958024 652402412 363008714 203627477 460921064 560859973 145969306 179351979 139217834 689390251 200618676 736130159 315261039 173386361 841415154 883240812 109102443 466921645 259630167 514272339 982114250 704641324 400777019 723644234 700592359 229285569 348639207 851160238 220579167 660624879 192634759 660812127 744399484 708541531 670954329 332140836 385976813 683163090 720492251 473394284 641672788 795502431 353853792 516963787 261119060 875599013 658020381 692941590 568583711 399954736 430888213 445706792 415832251 304450901 144133077 414176616 681368782 323516777 836846530 876015957 414248343 982992584 542842563 614873855 111490322 233497731 717429041 796754569 659393050 627868635 125587408 353821342 463891192 109761683 603628910 403948570 724806860 241672553 609264237 415538811 658026768 794468201 401514083 848221865 467833199 579927102 954108973 841021254 392076173 691657176 591003012 517899492 363274333 689144105 986955055 764490152 540922756 480853111 713319821 912615586 527478745 541928412 414002775 940643605 149000731 580909594 544973930 122856463 295476951 792135342 962637883 263072261 425422014 490196401 276364938 465592447 818474979 449680229 351789487 235556655 376912337 963976022 464884860 161537290 176519556 672595921 128786031 918845564 685244450 442762175 905532152 459343317 806694505 828065804 208952844 640565375 420838392 471372700 320585763 781280515 263218260 211165348 600533047 992316515 212026341 245399358 805539870 706698335 768015814 856838579 258253524 796669744 724853886 342792815 716324335 342483337 902637719 945010904 119202391 131320265 441893276 171293669 669315304 778681433 816722114 937119254 430467610 567743632 429809818 893991602 648222845 361498410 756676680 990779867 985240500 461335224 324079451 640813569 779544500 728566887 217872368 639821344 459789663 590543425 819862238 379957141 753771682 193525923 596827716 825517287 117754054 297648238 818341706 323653066 415156529 943308265 452944561 859157722 347174171 695943706 687211616 575645403 368931239 239100839 441292557 495003671 919040749 466084395 254550763 256036125 303274557 944803664 728812664 478549261 311347067 270854301 481149145 900323652 441168394 218887524 615702599 778927724 338155609 383642974 292388291 341261883 451636324 895199087 105520526 165048184 823602292 438964378 475036026 754822212 834204913 145309384 889495189 762173039 203443563 157009772 802904622 561032430 719098536 440033898 773120993 723331829 194717489 825156672 910628179 983062060 888323615 722501585 429409911 752353482 954107555 335421920 492050787 286017816 763229430 982239429 466367130 646795109 461451698 210203947 574157456 989058063 259593955 499877289 228164329 501677845 546950742 373793387 831771388 143673126 403349790 229109111 231949442 466690387 150325696 466685862 517732725 790990559 533655711 706927047 742489929 764576315 620717457 566044791 517874157 222926860 282122453 133817178 863404607 100195349 303504622 500330811 379097794 152534854 277738951 111812281 426201004 406403063 219612322 742923174 669613677 713684916 964971877 763761356 673095241 650911942 681908404 807108326 342430159 668186498 843531035 552401116 713683726 596919385 306310468 475354540 727030672 688139098 315992551 334665701 350440077 477144401 555166527 664390760 584748722 973688084 573050931 618889446 892864486 390835592 160439947 285651953 780217378 228984932 619502143 912766393 214603227 979784516 777036738 634429402 157531330 927756084 177529683 974765883 477617145 429537530 656113001 880906474 136322813 796340091 306251449 643848959 389084288 326128264 116995508 137084206 983760708 730149763 243608594 697613737 543211422 302779525 923000728 805950528 828926377 205866824 267236826 277937121 479657835 128528656 322686304 300814116 581289909 720828190 343592946 254022452 709975299 975304374 710068189 733125911 970982350 208814099 673676771 373609911 212269279 587069559 308620707 615943836 855920336 640989714 676925660 934176290 733186305 788627374 311170128 302296811 113728637 951094071 266012084 593215032 957907376 779116941 975360504 611762913 191678652 648384540 254426208 900843088 542152974 676943990 978585829 965542415 839755176 788130711 454901203 814214067 197302260 397416155 187276653 272028015 634517337 322499887 237460530 949919325 153078145 594184190 551091927 487027743 269895856 859365620 555489198 679822236 367666925 176702415 523579002 789871971 559945314 332531711 598093925 939758899 742352996 396349868 321952900 767784416 830995621 923191864 266317930 470912194 713836268 883057648 786093568 887355176 776793633 525802089 911738486 365680355 571850634 162889562 938099593 438838968 442156948 529862191 860580750 228353434 218445160 945632996 879234942 412856135 190878175 217817001 523515710 719486461 922072568 636153886 909782832 796278011 919150102 247065501 796378485 495817434 553907848 333392002 781478893 989935043 910905762 177085281 135019958 471448411 974413296 683936965 920365674 782601321 283856094 709455183 506396640 784096772 828579106 331131180 690582052 893609912 975667064 876348992 962590954 625962361 697098230 508465547 100874903 339831195 221315990 209327828 564393415 962375168 529131738 563248343 342199247 438597736 615613623 874602241 111985419 196943505 980339221 545927608 682254695 886428653 277696072 956548200 113184237 171765155 380350574 113684425 614940926 410066337 117519650 250101314 650619099 422838636 674587606 865026476 861154663 759802679 556430038 906340061 204765566 423229390 524000735 248695501 159631638 778882069 229735746 779583348 861256290 504857014 388546601 461306148 700431322 698854956 719626635 835438775 409695006 150271452 451992806 626010220 330106739 211624082 647292661 385503233 213123242 125081372 114790586 575566178 520271145 706085263 839057055 962453544 796697566 343704679 265960607 339840271 712292942 843788498 314362224 931884180 688407766 944431660 438655823 309222880 984197069 690093510 816801972 327455130 264179343 476518929 315069431 848418683 886952125 208295753 613430317 302530974 930461721 716536165 508891390 878536261 715526555 589848593 426135235 271931308 394545208 627375977 153851191 795433404 107359086 765099280 136697547 720795894 219598593 633810745 178080026 752182229 957964567 455088107 173846775 197776665 833807892 589269626 542420633 919919204 129697747 522124605 736754147 304062702 760329561 601439658 496538432 687007422 427516926 178942812 100350018 738688965 532710792 741862820 500539573 360743673 130445811 167097863 545891767 268019400 777338406 739230575 510661757 641298294 964364459 160253798 941867027 799259822 754578980 478793234 138116044 207693270 965614160 814693152 189133456 485680416 804648263 248351111 795216029 804102652 146947155 816384583 208715353 893778946 371122071 697103895 889601211 298755183 813493955 328764511 609964927 975689879 378062808 619763042 214916338 340730560 208359358 731357936 400509072 366700305 138411998 181527123 414378933 280971290 230614188 745850775 929346863 198904818 436750560 690887954 317746837 508735954 442845601 342925128 493996455 718508750 888480780 258331332 829597918 267215705 220228060 119658723 495468384 146957596 770294079 581272449 250406000 700742353 671618717 590544904 556194434 706386548 833961658 959064401 952561077 979302863 423321558 661786400 763101828 319111526 693882631 713919876 189319947 590826979 619286263 178683284 675553593 668859253 325463384 196903527 954950311 163407586 504325649 721027468 587032920 535115497 374855603 731295569 565890403 558874354 264320518 990059918 583091489 749651370 755908464 143213081 815744803 220936329 537291054 539761038 268803340 625488081 513251725 120555319 709561470 274646391 452159947 204249312 638125492 555963594 150805227 621409421 477084434 784141735 613482136 911764779 420909950 499857868 592387425 479118573 710760909 237440367 936494290 879021121 467470384 249736344 774866159 307950592 713924843 194772690 707897079 403622197 940573970 446818475 675681185 300106093 295075569 317975819 901427789 965203292 527421844 873656843 909883383 290141003 483402848 215096674 124317918 913104138 924201592 883572321 229288290 766973447 278868957 182684319 606515984 298783071 399450694 816415181 338086687 823822128 114332186 420274797 898056878 179527063 620158320 317756522 607631667 456768418 207488651 437731413 588126657 650464430 338879279 765758111 246708973 595001864 953928533 992015091 945340226 430009930 707413961 512166606 242361512 144923937 531927112 624292538 419369384 626124681 676268945 890349569 288083981 964819337 772113204 306470500 459391498 357100684 131878511 182868806 673603861 607756364 398268585 870441513 851567655 804596675 251237356 394707622 863678521 930065724 806396071 507042368 956810854 717580054 332304101 774015622 752790237 293575950 846468787 893594201 418955467 359650360 540146372 931592460 415912866 353018035 489877519 580839869 875785983 294383177 917193672 805890172 480914230 624802829 572823578 183498315 807036416 875136045 524633716 536766878 880796066 296064703 983425539 600945112 650937829 701103980 799428011 701106283 651247877 556700970 862861730 300926254 576085499 544748476 415682336 423413932 472382455 508894541 426245451 951449685 113659188 578261678 227392888 893171272 609704373 194686324 872928046 724367571 606821753 360574095 544971721 349076337 344271711 374806302 246837710 890406248 282257455 625089041 378004088 757224219 796326355 955782401 572878819 374790416 860064159 966227762 301978818 951465289 340362821 635121991 263981401 212578477 242638631 815045649 135368840 313071527 921546913 809955987 304766795 213665635 580440144 823936192 737185796 971090856 812486677 239420602 382680589 734254276 755398546 503864148 482570017 162114833 428608889 258693675 459848685 656217591 382130167 109330465 205350518 238626890 600255120 108350900 473174864 951795996 303682942 705270731 430965778 291067169 858909207 667065000 763623419 194341732 256982106 583027493 839455921 937757458 151395070 433083719 154080381 508430428 188383892 115174225 377333269 670053478 843108971 123714612 400221567 962362175 593028678 757750869 512897914 623069200 653074242 530054712 280100037 409091308 687117361 173333159 710244637 902778088 289337601 839242963 915006082 858880904 112270744 476339159 917576037 471234766 569336135 468750704 584513182 116032407 525907445 913276772 794991021 206726951 828157291 905439339 989724879 306855738 628829582 685670409 315878173 824023096 327006332 974119044 302578270 938585835 260045632 276518998 860039365 404753724 387921654 162285707 488313936 460081334 447393649 611031822 962098515 831677421 626009618 744731966 259126296 636669106 309946684 574764739 115567704 793170110 227747863 508032334 950688004 842067947 244455105 951946048 715475309 932660846 900840843 338512963 821869535 609923971 261861307 441949463 422784723 262379489 466729656 838726984 681646556 253427486 149856505 138180969 346472415 425256185 144025835 666934698 515797153 827641483 734226684 407456113 142595579 279194050 597102478 998546752 425346583 199241667 342121789 420762260 105837374 319752115 788495854 115664097 873466721 917281347 712255040 766647799 532225434 340750382 416562304 722148375 681836448 485735738 671289266 617759905 786204484 735160935 871760937 964367240 924322948 685264062 295804713 270604359 699328600 994387626 603798589 794306354 742833585 717933963 480430775 765158580 850376594 289691960 138012819 149611503 311676213 914083050 591178866 603808117 622435285 598828344 525973398 560509587 388563599 608057500 863086812 213289734 834227214 690838996 420097945 109900596 454217358 903783289 258020329 716361935 394131326 990507977 198781288 269190276 533340659 235375218 355514561 433801697 385386280 938555979 108671499 647468174 427853922 448323127 899280933 103096513 358842971 904376357 756673082 770320892 436388842 270183288 595901324 849511423 886556786 609889273 807052545 433395130 423731377 987574500 901730580 537531961 651195534 709159561 804349306 572835233 270394555 511703143 829155054 236660359 922707076 135669531 160745008 443884813 212330830 730709897 876928892 903532003 803913049 687405238 871887730 393591639 579709792 699796780 980212254 451127600 481114446 945967193 140257393 556833964 424911180 880867600 311145443 527583182 171245809 530741927 230156577 181488420 246236706 321600102 930787390 400985816 859102806 459531213 691904185 595136021 517217171 909044563 385601182 520706032 794990679 414020338 314517701 477761641 265947027 352410737 938146628 127639014 591040834 980279691 257757761 369466193 656417767 369152383 238204935 828052238 814960928 294833511 161924478 756368334 176869834 320991339 263208962 473187915 524293158 653015968 632731585 691256129 723710089 474771465 839353529 428772272 387573551 785611613 176108296 408688700 841456590 433160419 432535043 390054145 358396922 108648756 837937574 732671986 863710387 539549352 526774860 133126765 963330054 542205337 110771001 685178481 764240771 970502576 577042021 198499189 903149475 228752904 970782244 673709539 691002241 624214793 808619253 147693565 894374862 449131836 177385195 676584936 346748355 638952283 917076619 677888683 214166416 587263144 354686948 852450764 123340957 796487440 270888141 420370154 419248727 113871430 412060457 731605341 489320283 380026554 325666709 552320975 123262862 933568108 396496812 760723329 811146365 300330359 146293658 216690827 955660140 964887857 271351310 574501584 503470259 441575113 449471134 268564239 536017171 766660323 624181215 981531786 857624554 309731222 146251475 965020665 747771661 370593995 265770305 798864275 641711957 553137192 920279071 300482894 283697223 911223102 226813425 877023857 385128270 964833463 363239453 395861882 752797279 773004344 911755956 980189172 280533478 643744291 693535081 890035941 458265601 197144453 219714717 861217186 178600089 610654039 616535555 462928961 760232917 321403845 896182255 557165288 199912091 288639943 497644018 478261037 187502339 477748802 858868071 483376347 262184387 471349466 989250691 106258138 697621132 766696637 975219466 773887429 450074681 243185156 265284582 953076487 740052919 203855732 694419368 691018115 562788540 792969972 880051908 479359953 840126815 576854643 293074815 389406295 660569182 594717639 327481275 975074752 241473210 759746667 480032848 409076019 243415987 507317976 530705550 298175825 756775194 843187472 901784307 844345435 866401147 542656667 409062168 509270174 722604776 842210687 914749377 286322133 863333358 349717530 540742103 399094727 217611576 535280814 747353924 103091870 689273795 630814572 150748329 383657975 623487838 921252296 611955190 563635023 241686459 428738491 243973384 913741183 230185056 257575234 649990466 282074721 713788949 813209034 794395674 679367327 518364058 329533866 536281409 610422710 811546252 826319572 330417279 457756576 972083430 312368139 867808183 863306068 817244113 856285076 313769309 432804924 225659576 938889562 315912819 227011050 904540641 226511878 341116388 534998806 349887145 264887825 201371875 566817982 708690268 713447070 893327574 909000120 669353593 449345329 202696593 709777590 688713873 393998498 392190448 706661655 540429312 130587643 441176798 992188063 816553121 619949665 978223044 178803937 602369810 487646814 615896398 385354750 173375852 346060472 873334634 655082352 397283941 447961642 348105734 622818695 398307551 207144049 272590575 654020820 393769083 618670189 645641152 685097403 853632868 362923914 770518922 940636829 320327202 751798048 271413336 831375004 547590133 893994887 719217246 812570738 240485208 453216193 961801464 189041234 242039095 568418273 524700964 505723158 793010373 611823384 578481167 998879438 811271173 773165875 345324515 735768723 486128013 662057786 165057471 884441004 276433083 540080803 561685850 371034389 572739893 270986135 626933730 211630796 117987293 594928278 513621224 866629291 223691086 987169317 406291480 608620385 508587686 184484611 347933964 669131509 596713226 861169891 988232193 683020442 837562671 183549496 150908339 123753369 890605515 815744215 967449674 691303563 675352308 543619740 991875869 744587551 567854668 941081977 144202179 568370555 136693198 557811938 248554876 283086460 543419218 460383992 942476834 874197426 499383723 240857951 750722465 453177321 986125879 841668338 910951354 824700936 501700918 436689263 959004945 650210918 213626372 757857014 709361710 478930139 304915707 607643468 803234997 421529931 708434143 767901850 607929926 646967247 128331259 496752929 492245589 680279143 427126516 563164876 938138527 697257342 202303285 762138447 357110944 205549599 112279576 172069640 787958465 645647555 665173877 525699327 563665553 265246131 905310087 878451801 116337815 750831202 793813626 989523549 632395179 842499945 777756798 213630080 348148550 550850074 474453385 351595619 539846541 379284692 922058451 227271381 479542948 701980873 676459003 651395314 511676678 733227922 649861809 136284630 167692261 824469028 208487635 759256386 204473533 458799148 859297806 907061939 661978970 475592104 276518666 306884048 844583080 530621272 481197291 867701478 467981310 817341101 752712490 832488226 760133631 203141992 927457363 126864058 910770338 948548840 547425775 234224233 464876130 129362345 224886356 659311936 212387498 889631952 463068173 569021198 585462921 633163782 782552589 500111485 129542705 587154375 184245102 967426697 271434061 421276930 594516391 133283691 427197707 548654661 423482615 129068015 911154959 228176023 839167292 212876111 230611160 178453193 659979530 348700416 369534361 183028867 968981310 232264928 220773411 290556744 199168838 784837544 956726800 502922100 652546973 279732836 785240623 976609004 738959307 278750184 303636749 345960264 769763438 907022511 138586015 986630918 215151540 570852202 540053986 403322338 961262557 156975966 257883838 926533372 412481548 111944526 500694151 277492475 899763891 883993126 947471261 980877397 676700389 241328017 899209925 859675501 515358136 149896030 725843142 100165458 944788058 666907349 169834406 244950043 662709210 277590485 525518577 891030495 282822841 880614456 595166212 889108016 589434350 866633681 946882568 699238113 870081784 955819016 664449019 605344716 955723869 326688867 996699096 558892286 444029604 933688389 173743176 342509270 501391238 159564209 182245325 146983998 195126245 460711521 652154852 950812054 166190115 604983332 283122803 112644026 931591981 327464906 338662259 439746328 742023928 951115703 268995735 301033703 750255998 356264230 333716193 767969297 704516438 668596115 145499447 941961068 236481400 806907075 405109942 465593338 759152430 899894642 860038074 145942126 356357443 690889116 377078610 674331257 818612788 630336533 791178832 284828181 204341554 627422384 825316956 531226554 330966095 177638673 235564131 809534445 158517600 336043985 419462990 773203857 765025707 142141311 387044950 103824135 137530791 784018273 913604762 421498114 258905933 412760627 257069009 197789045 677239803 358462125 945340721 446127695 142680384 871943887 778045047 349319973 498782114 693839403 136485810 543857535 443598382 256768791 463575512 548031006 872752230 435169059 625507548 413472168 491319750 719019872 164380343 292015702 941250316 433189748 639810278 258817558 342370899 407634462 956718437 949437675 896687108 928895431 860405533 629753045 198465321 956308008 975818255 410542987 378132762 448067250 756119577 650023758 797403334 652832344 494216334 791642867 192126352 624533911 585996146 553031087 512467252 927435897 629552453 925647827 916633353 747927074 132341392 181654865 158575587 275214104 802820880 968658960 891138145 903555783 320761873 124524753 306311223 735115434 833483228 407164954 733905247 389607532 924522166 777324313 183313251 871216430 534982172 388693854 874924915 363897082 502351300 875457618 734345204 506724097 853391201 605889422 463429443 701817807 634261913 188463761 519313169 831049084 918553476 529265038 362933149 925127092 307687278 837535197 525418595 158172816 738323817 607114536 670595291 119597209 341152767 421941413 982568509 844818503 654967261 736219445 559918712 964365090 174990132 551114421 146504775 881573326 468715746 222236309 336133884 528286834 994467723 668402845 660985178 409385727 989045240 812967942 901678249 290156795 116324927 747327210 327899583 440359716 692640973 645013013 964636534 769074449 744273546 236593490 673967598 707728871 901739315 835845031 239081598 600629564 737894787 187391402 982891617 351151226 557606971 524208458 477414018 552078366 195989118 478160359 842696664 861049797 888052695 299146572 450490214 864885975 799633400 263182804 364643210 184963936 554568467 443180330 773052844 575966719 183582937 147357038 928970594 151833385 113728046 535965617 809226170 394784533 126008653 187585700 601646827 722240373 295439343 971910844 985436981 247355923 161138712 208937998 943777495 305029200 889285484 667154307 911175382 893965568 228933628 726682688 106796196 134710466 245812883 241279563 806407323 957547963 376601162 592772519 663938810 201698505 384772048 698892062 532277874 893684004 519145966 851165581 810049916 927832936 718748807 819597968 627569423 878047189 318174077 713952181 835888244 133390182 907354398 860473532 159698431 458549003 232798513 163684077 432862095 797851337 406364910 810012066 463443888 750196872 170789210 511672504 258123607 265315541 850894873 437549175 514451921 427146805 446518344 631924203 848249412 346271762 100663452 711279193 394885325 476146884 111927254 393270490 423180847 247689853 295201425 635143349 202514114 481078775 770796642 912667779 947396256 151522497 729780562 568318831 301658591 292745209 275973370 796183162 898495663 426084703 205251061 527988398 909166739 814784189 290410158 631209949 606894919 469867354 394334096 379453443 450789907 522350728 372745586 438788757 779103469 104226109 162162427 560767095 520752387 110543472 121605922 424665405 117328981 847253941 409029607 164501701 489417009 170066233 438430993 267109291 588494084 684973829 115924206 750392375 863646959 331615070 686021763 308408125 618178631 538787675 132048595 680150483 124264582 734396300 354662453 519416904 901354508 206258848 150817457 551841068 711003122 573384456 626910457 349066597 763119261 359693028 300393655 384185044 523820792 410794904 312850455 379363235 186997244 864568693 906747082 505794613 390814889 552023942 994499710 699783734 954062787 652314484 243426827 837408890 458840273 708637882 330704210 422225877 228484571 892276078 449294495 491270562 965555927 597911484 419426442 106005012 475673329 426617334 585615265 335643941 347147205 114992469 437619479 788387570 381017213 382630551 696056262 604379292 918648015 818130636 185403673 699869982 917348615 516628705 168906895 465973725 898154626 547823268 562781701 130599930 349107215 676685481 343682460 890791783 653141748 935739383 914094264 564755150 692427704 263532077 191604720 685307086 832141739 239523054 128440458 966375666 119288476 381282560 756555697 161720679 934529247 394639378 830216896 441152452 365139389 558444451 438027836 186304487 292662807 789948165 851730245 221990535 835599890 900850719 507826422 826831494 452631130 345869936 479918889 901845943 399142182 727743443 976272788 605478340 502764121 919859812 366438716 621121805 495377189 289775667 707951229 717628597 688484318 479748415 696081083 271627464 206843448 528979912 202220938 225141094 262309374 878672355 382763843 435653853 231182992 515247220 856943174 602131485 499273093 339812199 505549518 463533727 374162617 687212746 954750093 222659557 121759124 747674293 913111216 512967978 477439747 493587300 622934268 280059900 767002050 227147785 511388796 529802934 977991768 564886601 758136921 656124275 158249457 932785167 788235613 971507705 420850629 173559299 602913716 842072786 255623199 719921122 192076538 880101366 301105051 396596528 882188023 269102290 219189805 448927603 120467019 343008859 570375474 515738705 921018866 123106874 702407524 333245307 494021070 574961507 246826488 442996234 181961775 269339571 230625400 147743105 643590626 731502944 684700607 254748215 777253685 327206948 612415997 677599463 811200781 168664932 379790888 531276024 731130919 243573720 423822786 453672554 438288265 565831612 606049760 685167400 801213462 839771572 718486949 139759749 844481037 993183393 340446442 428806868 613585340 746817300 869331388 670894267 476146953 679798151 894100795 176077561 633701066 289230858 801755604 493276103 781829284 308691072 200526095 346719741 485108626 325678546 504381937 949707507 382008096 868381689 433741643 647137696 262224062 788003103 155685190 524876452 274480942 481489396 235848654 402236084 614179328 483650812 851587187 723496205 740568275 324742074 635925929 464504844 107241305 253556005 525152547 779176105 820834159 950662122 712397020 570250409 989742073 793985565 882005383 285706118 306222588 420686111 360389260 827683511 234399750 965603664 833408154 898806951 916376449 288366483 123303677 923483450 617415135 106512649 671534293 472209684 799350028 784529922 747084288 370433099 145788212 853135933 601494416 418457631 997516668 695423616 875140561 311560369 646263767 248136785 958302419 346626051 426071737 314806994 395670987 392866080 906869929 712074512 415554043 490360773 527316352 301364124 852030661 702598178 224271673 152510286 655235733 110306493 753302406 302513407 608530813 227834501 673039223 310570946 947510133 360686770 671268809 550521471 177739642 607981585 487858978 362175538 577788203 566078405 628358027 541930940 158125001 714419327 474238563 482696267 151482355 840504213 416529520 202745419 528873705 985123023 818952166 362888134 771244444 589627764 782124249 526375779 584477090 628144574 326768395 642219551 634226629 226471733 730867214 207271300 410074825 448197805 925890997 884623392 781176274 863054143 217741567 185579283 964044900 846383889 764447653 539960071 786490111 835850523 404906464 457532337 396550866 590639962 110987205 781287893 296379058 467765380 726415682 701032837 112097993 500489194 796867539 331440292 790695300 640544321 682533880 689308374 453701201 899661924 108766516 522830243 937168098 382910393 434415894 488981468 847971145 901266799 800641661 761396951 125289370 616590584 444875890 596221740 815608364 433715116 981419860 767231986 832150712 446156072 720187435 143878315 879900273 624737418 592732392 545046810 802711207 575552722 514842500 702115701 919274627 883084127 860473156 379804722 733352234 290282390 721636497 641351230 440695554 954593576 542604586 183237424 737423325 504501497 566090695 762496896 197347779 332552946 105082670 627656648 819762851 879279348 705347934 974914720 851931927 434613830 351035433 434090905 123850425 666115214 593291804 257613010 713744464 854105983 225826609 440143666 803687407 974114587 572866640 937472745 340905552 913280677 450525751 943219914 430836658 927976224 385965341 749922888 633829155 378411533 825499114 216499793 485531737 242221604 274305463 539670767 514751973 927996851 346926550 871274146 645195558 471640732 414043404 439509191 257621538 305329815 887297952 832474970 187304055 683112453 579524459 488037286 221905008 264755731 380316773 531184419 306138826 317458249 509241747 357345862 615350666 363284543 326007785 920867668 521859850 960830624 612417947 306758281 936142558 236004687 819281653 519157010 427230150 347743215 763992412 362017164 195563912 307282229 490157379 295982452 767577352 223085851 927352800 733862939 169132602 174046348 872191487 509372417 839037284 640187235 957931256 824762717 703789877 657757900 364330128 157491364 511699832 184661790 935490345 890063413 674472075 957254623 197727700 540029259 656843760 285378524 655854346 249201384 630743812 262771423 343377664 605618895 887491107 451690285 774013164 246515242 221385383 810391835 791349364 639059547 802879981 935867921 350677643 269038398 381482223 144971654 505711145 144997907 567265368 229952519 371006201 158647133 366877295 809473159 120580420 708310389 867160104 285811608 797198098 712997825 747777008 913347991 806794424 751074015 274815217 471840622 500510573 696883117 960665076 865665388 682806369 208166406 352613110 307323957 967246436 777513075 280470443 523667627 183853227 974754334 396757653 814961832 515029643 376412268 738975888 598357525 535880064 234415069 960039403 687687149 803024324 918665909 164942391 206858996 349747049 642582894 374092224 818764609 161623123 215366295 132445079 327904217 467510233 575743884 800405221 446029333 171280933 703762539 196780844 637467967 587936764 153668758 702365714 564163013 194409160 446506718 977601023 489289224 585203227 873223948 611634126 492772703 587306930 931409681 999373874 486056134 558020407 722844726 999732821 407296497 451698734 564004055 656473335 909348262 827816455 576698605 407392181 404155893 947250309 324020192 150694713 351933531 977433860 432395100 952851302 552168706 750844000 471470729 316076581 934309849 305524333 250703609 227742608 508576372 572816947 843047971 457263435 506925784 642508088 123230392 809089806 306864283 828718608 395936413 982717177 172397735 845444637 822086950 936039108 386832034 561987392 992603719 803779098 473804457 237308685 842752042 617127583 918715218 189092885 855100252 577858572 788025946 312201734 162661362 428130903 638788921 484243403 169411547 985856262 139740272 317060919 748536815 986198738 322909235 131246789 577034225 696684594 812984212 900096388 586841012 537955692 859768585 439620254 794883755 162972692 787769436 206449417 696457733 327981172 709134296 581620135 250527938 694384278 152858933 523347704 845556509 283235457 401087302 231274266 532821967 324495193 380354369 560231812 558806962 523714743 705622191 645132974 827984059 195948815 467976728 873385254 743712190 655958471 353583760 386678472 205787047 905304358 962464894 720425484 631788444 628093915 551353961 458268615 555851244 201418444 968539231 903655939 914790567 775599612 252079505 249766215 370379867 938064409 488109522 231529221 916477564 919473107 182515891 977822723 700973318 931147425 339263428 943901813 755303621 627333679 804756658 223210224 572611969 621137611 699310537 762804861 379838824 277856753 190511847 594228338 458006432 200716905 129438124 643028283 181261811 922303882 133026142 423984182 790454550 952110031 231633089 651391463 576363175 289448060 368264358 739055323 389954844 503740840 404987817 854712089 663822459 747916042 436690019 420708503 712313456 439338034 221032717 646693087 811906792 585567143 566781757 422971594 657866697 210252664 471406869 229118579 533846813 140986266 363009652 599853061 851879091 391665917 297649381 734439657 162595869 153045394 560943191 821309780 236425227 157510071 466515756 784461659 755947914 781963732 845231869 361845064 277219541 748762911 444937290 486907626 340256518 392734398 787593648 689718834 741557908 867720584 868528824 812341171 944686998 181234884 664452990 537044105 451461898 978867108 972456748 978791235 466773374 755400429 754523968 614251742 751656182 768904810 100382281 262446636 156513171 711865266 237098930 239337525 361278642 710608705 416799418 737425063 700804332 556605053 206563256 996570896 812967122 964085951 798625165 484273179 851320787 881269101 955562600 175729701 158613675 476359441 196858729 540400271 532685980 761910323 927704159 383278131 455899951 234611539 757586536 553712839 988690128 556976810 853004903 590070887 541338789 583453505 165485492 576275910 333301987 632014881 344182439 119121907 200736178 652947598 529969033 222881576 751079014 557069639 724694295 629757156 820711624 307421515 334444368 300660768 879600788 892975141 290626902 717613637 765641636 662350517 894958858 773400541 806031617 509334020 128592397 811340942 453126593 767380140 277176667 563571529 216727332 170536915 848197349 308575332 160125070 353818157 897206067 329039779 307277542 621552554 627003208 561091209 601933391 159838866 928098757 870970675 996327808 230973265 214321998 601544446 248728446 812700619 488450775 381083330 986405205 523019330 733008744 240818563 334527334 649498870 567843420 190344249 241779842 151557488 125090427 754476974 716060227 328536413 288517441 275684354 816071458 907725753 387902863 333551872 408824166 776932748 132228657 119247771 709072344 980892244 909999617 916771471 279901250 301164293 708693405 348992756 803194027 622808883 549619359 606819518 247684029 748519388 433408611 489655895 353582193 763249633 845825025 700826079 945216447 696990655 361452670 841577104 648325533 848704357 805950391 473261883 264387020 474254241 659933875 124516002 547583038 293228048 722813434 287654802 580698778 103461391 335390520 349423125 625366350 505883436 825097860 305990553 349719249 114907071 385790528 917635009 272224688 159960369 416862824 414567284 332261946 897984020 968774926 401925996 546315275 473425490 555103035 933176195 613491735 714312349 482758426 242158510 867260984 930474356 391849236 507627423 957989687 513879143 851527874 231442166 908879307 404355185 955898378 827966787 788944422 231263674 724399332 140148065 272319808 356380870 130099770 333100535 437191574 239083727 746852099 797448266 969050711 394351382 718248525 914093487 236500581 936088042 499095812 516662903 314581534 538769506 769777832 770821431 958248652 188172624 877170873 716083057 892918312 868427224 148236814 778047392 364690499 238096016 453152338 841754757 233016658 620611596 178074811 351047128 269424498 494716243 604272313 567630708 899868572 246998622 534406553 810534719 307381918 209182626 182410546 706540555 458443108 972222754 701871424 907067266 593268504 140597012 863225013 462540780 827632814 490837401 903737431 659967297 646025778 658534491 969069439 969739852 871812250 868681867 582572433 375824199 904361435 236988744 552120673 490699586 536324228 208663248 608996960 295699953 847669698 201736724 959359445 836230488 486234146 237396831 893328583 880946003 887025928 259743156 448917190 293632460 993682531 140893249 598818703 531523648 887772094 217965977 230064359 387259795 311942263 949505799 643159002 188897823 246214371 274871672 659222544 970760822 973346561 908856813 192063196 206128680 932625960 809343044 218854547 774898562 657690433 639289560 960749394 183350929 482088479 376099804 322982206 784879070 921487171 348582121 770788802 835441021 931369991 356785578 836506526 486352587 667067800 417691655 109222944 819532114 465897183 114113391 763015703 712649467 529184581 768611200 128075940 294836373 404112945 225343038 253752888 117811373 906720991 850730048 293701483 479010201 952731236 262342164 915646805 985659291 242870283 572255674 526601980 739827705 423272608 347175517 304493919 358937028 129523214 277787220 686248571 650987295 119287209 654958510 819832969 447474830 578961455 412017758 992692331 547795081 639148945 943750406 724929820 742626935 281369843 997419419 458423617 530999175 384977706 563386976 214072902 729247784 127784788 925478860 473145360 374899348 210329242 848218891 618321760 708620039 168997927 813274664 852424401 988509867 504520472 212105641 762648123 466759384 631773927 679642337 703777814 858403375 388769678 312448780 538269793 651233128 468050931 985862773 992065155 900214178 229251914 450461469 288090691 434564448 187109636 183773523 713274883 254030633 665589627 678864089 552979381 331035087 490139113 532816776 513387340 468983988 999558366 956240207 863702145 757600419 323535788 664025410 899252777 946621968 797360123 117985240 566100334 728792904 300587386 868306519 204011957 277949408 929643336 865530340 598231479 732136538 113304981 894091068 169068533 943052869 885965694 473764779 645646681 451638778 963807445 602283686 790114653 642118411 214899055 196008719 702386615 877242173 419689736 765736460 505098204 678433268 707390002 258449943 948996969 366931804 177036062 456298440 765819374 645934754 401794579 949851758 837761472 615448777 711027414 342397454 258080853 147179763 605692232 765206676 340976856 133114186 445144348 893376777 207794033 882376063 580368187 566425356 469334177 812575299 987094275 394847701 827574201 693141055 557789052 520581902 115637805 504176848 260939578 373181929 619948540 696469599 167126974 975484916 186081051 155260671 273086150 400276186 379465852 809398204 169928179 818367799 224708868 324435419 771078690 899354725 907776058 858992483 194277481 412470256 673460537 890386851 621172895 694315040 218847969 915419638 436454061 741757477 707493811 418975235 249403153 259591483 599169380 486602203 719559770 818136847 448004044 749055262 187097278 497296107 113017373 266748889 837326141 614070970 363468579 585746757 792389082 959973770 240651237 516085145 698670120 700281955 749885087 684531818 785227035 195808014 338190357 996231760 624267918 723150836 523120703 369684338 403340348 687542001 799242224 932373733 463565873 964609490 273884261 326017249 762493271 327979457 866931699 996012331 545945938 382841512 224009318 236224660 463423351 367974058 702262946 151157917 636167077 229848871 494514125 468445620 493393944 765122947 973512007 498090198 611551966 222367592 648231339 949230099 254708501 655033137 102150954 452483330 897191728 756176490 720550128 752290439 516320162 245126235 745127136 999082680 391763656 643845265 788675207 298361510 660642108 341315145 847741035 648014649 416349647 938890838 468131328 966883795 577500878 562696198 219936226 106128815 883271937 972364212 417463416 964632453 544164859 518412703 927129268 231133338 479206245 630909828 717551325 733677675 565744334 881154145 824000317 921489326 563940051 336668092 659471537 315182478 799403115 848967451 523585119 767984070 862889760 963123157 165007379 899095309 635520228 924695170 661001412 519222590 566412788 450120654 980506544 131199166 727476294 827270124 319014260 484579715 146147083 807013514 627744019 721247683 785133338 435187686 428708134 596683334 120674565 133887799 245233196 349961109 363019167 585902271 398797169 725095897 764762318 107286854 509302701 437595799 531751323 352525247 770917558 521101773 893851247 911384151 256459553 188904239 331028070 723849065 590310334 749966532 143514377 211155156 508477366 543505021 448961827 647102878 352563394 487067566 108549889 360410538 687028453 587988672 639700728 234184259 274456275 814535552 776978070 784456182 882966524 797837830 425117291 951757785 632998492 349761696 902982952 458238776 793821798 377930800 523730838 228340038 718881971 655706537 819133385 691646508 105129507 764701700 704816234 215638328 560758492 365889751 827494831 594075943 792622600 793550900 476373093 727447130 849353969 745557739 972899018 378483345 617833145 589196897 189128292 850253902 728300161 596118154 832069440 568367617 430986235 185694661 421376592 596407346 432280158 940960797 321397440 850327844 881648928 870887023 982551638 574817632 543986446 662479598 594796512 778758276 534340512 409042308 407132988 922877277 373383467 717990062 844145561 234181477 892975344 125598254 609156406 300338979 595140261 929602730 340996972 183202084 975258492 286332523 508523341 721957491 598024770 559346863 426756495 570020911 328085511 262345102 329312961 770873564 643021645 387956346 270428318 273818748 921513776 306560833 555912929 751317588 680977892 500136208 130126041 381309569 847657709 913732728 351622882 713925950 239491373 322807448 550639709 179823427 610645183 438878343 994802179 375261518 758706973 866642770 904211016 290604615 355077218 619064982 464811947 221670986 959701526 248368261 923439772 780403427 746813595 316015841 257527427 830338457 465456070 469601710 374506249 498067371 690756318 349688476 805464345 840252475 763855453 585566132 840733187 846668944 954741285 932609975 547693096 466187993 996758660 957445972 664932204 553943781 292418783 913757866 470228250 302593393 370715671 787776508 173585164 376523673 806369982 924017994 368124570 241505991 310881363 234213314 244646113 811019847 859832174 633156081 475380516 229398622 928809772 579184232 270309208 572532475 775480807 400673061 166585200 172287357 276488925 310614817 982941417 167521739 663068162 436616686 562891013 453538390 671438766 495536211 376641714 785239731 707322896 701261025 466450798 117840593 764506113 101561097 624123887 325641303 534757864 212907491 627507406 801760499 164028768 213290370 226245817 378456136 223963689 986761071 740788132 814368516 901819946 598009431 143527829 442058186 170070418 297442190 261119480 957116501 259972334 493671132 356798501 656614934 708521163 890520468 590668583 653659098 739537280 182442027 238784951 433650239 982518600 552153928 216790928 772508811 389595756 545317449 422845115 466397080 915151789 874286203 146854467 724540086 930504877 157474408 448103499 365556584 243776609 403206771 815888394 283253300 198730846 261154216 277979565 282440858 927247883 255368821 705118477 461011377 738356869 406522181 274402104 629935250 141745686 249587517 335414608 782280724 187013008 903720295 213153421 907349376 373515708 971987704 967055702 550458713 903147384 924088220 918806542 688594090 227664606 405447498 628750203 471595195 799686012 679396578 318495361 222759678 809012541 144912090 689841563 325265753 438986885 749463947 929888758 258671644 921774291 422215005 445555311 613851207 971765769 521205827 160621033 100103625 189293468 734616750 852201919 753638634 117884107 417795141 413771019 857757883 716218798 222398092 595943565 863767952 846040622 840703691 488485962 396905671 150200265 910307853 731778816 979775076 211375692 213287227 190069113 602706121 941056814 491098369 160761712 625202567 177052781 230409475 566723073 273641239 214913328 736899948 993576218 831076307 313284086 689824842 529828757 586463701 368668970 350426763 188332079 379547211 860373861 100698443 943731116 833334382 556972790 637404187 802648743 266090577 442644738 834092040 680693233 796023816 782029337 501041512 299289757 150648777 101912995 743622285 426318559 724283323 952651259 307420988 713717064 722899158 711210954 921592289 166249582 171015865 290684486 820571423 703200520 880138991 815900333 661164890 576727349 323434322 710557075 703491978 564895467 918720801 704428231 156283935 300596139 278153930 444273730 382270401 274720824 242867370 627252681 473702937 274675854 607947473 409589534 488212255 998395821 861531441 681969207 103214945 191765291 160699573 635670068 343726581 215576705 380404889 113101401 707023779 160344875 510891567 766856825 319283025 907303851 794323478 222410670 308476342 724384946 806287372 101285453 386420438 956707575 989848114 742117796 712979131 822252013 867957477 254629065 903937498 452896380 470380633 697958057 340199908 778041575 902834616 590766451 683102411 416830967 337655531 422006192 243056203 797817301 510998727 100784549 426749745 522652688 478596144 237431260 267999961 934947367 708956154 462974842 520298545 912368097 829860007 329973740 975116160 537019248 991344923 997508470 159843747 444883825 938238898 759282264 234715612 383424131 653578239 860670357 292378084 522183543 301581906 194877614 916507236 223759183 750795526 488873601 631764099 888274800 295265119 437791625 649248207 410691310 627144729 591724358 965946682 549932776 653651231 690671246 413176897 202129631 314150374 693865295 484577895 153273676 499318541 628854538 132513212 729426777 849344958 980799539 908363734 134916477 803775048 850755892 126645183 973560335 293061080 473713634 890768803 170874626 289713942 427770611 999585422 172325795 592029864 333867891 377273603 854002667 412005755 165086443 716123941 715617876 278451214 421123741 454127873 838264945 688348367 355251860 205400846 493717253 636260355 267363695 555404726 434853246 318449026 292351561 228060112 681648869 896557878 388026869 358442331 649350841 384568778 749417702 698107127 284095606 988600493 253600652 402396583 606687845 192430339 155606849 393551992 748891761 234209505 556114149 108649957 843290986 366252916 491894035 225706234 473508057 949268630 301059496 583786890 943773216 489666762 476693437 422747294 765257395 852843992 309487029 964376766 427678507 423691919 797986208 847341258 144376684 916298617 138092378 862797354 623592008 607306537 879765137 131479436 677080063 164524187 655544540 803951190 430172989 166385958 485873604 762646524 939760482 709012459 259765183 589687816 953748675 726089420 497518889 752514590 680046705 870954372 204100716 656813153 466317211 540210304 973196704 832849812 263227138 392972885 900752075 859839466 347509098 761615354 918643169 288725534 833970170 433599041 297565417 782950234 189234889 831100873 387795217 654512689 296645805 558400685 998305943 874815978 641084511 353814658 371746154 153558738 356576749 128108625 995775068 221958709 711393907 618361655 353959658 891246438 797173950 656606889 382511072 334896469 157620339 929920760 471331502 107757024 490826363 170109199 154553569 707378362 763188886 831518548 338227860 165880770 623028888 495820203 456334370 278805136 376802598 327426712 754538051 851527769 116394882 361802698 267858073 946749951 553552781 762249229 890349432 283416309 537278294 426633387 308967668 251431955 946136504 665181745 505611616 310239589 519114660 146612550 822233777 723481376 321572493 718945982 348550533 323741595 320661383 716808417 246259904 759433191 847515543 806795622 856696773 626888941 734872937 976325346 183859048 317590165 367275573 961617603 855818385 159779199 668260064 464952043 927625377 650920759 738762934 223308405 861639428 894365720 855326039 517926638 647096170 799856362 190492499 178670584 574584547 502630073 312227690 991833275 108424513 521086938 844255711 628691375 522120962 743839708 829377416 761215916 333933925 823446273 894922420 243131607 669816022 228880912 830673409 468265626 815536206 619758813 131384909 317439924 611966712 928826792 314100423 807850973 580753543 207148673 776286038 725193252 446663216 829356104 581850435 620309329 874594825 137243441 753878955 899784328 325895391 897024724 959336371 888064805 225382041 324317988 663166819 985752975 686434623 800569297 172620872 486081558 606024598 501791330 475276273 638571017 150852722 188124411 474383301 896490609 778265528 110145418 614192819 952192525 795968930 934384815 908337944 897586125 579323330 291754727 303702327 824068033 964091643 382609831 466316080 891364590 723749321 853231611 147255049 694150953 615448992 415803905 274322286 280851015 667237525 676490635 161456864 972600099 111646255 452024090 968112400 412737390 495512091 624963922 459541761 931964641 436930784 563977863 589067079 601915029 122337446 676891845 345120583 366489134 371639231 159093623 937279573 661857173 361078215 592020097 579331930 681505012 585449143 907684656 289037248 271959745 532798066 867554702 207103697 121404623 467365248 665204406 320254201 984740563 749534230 299976724 597641448 397584798 226135586 488934313 245312651 883092978 164353706 319082543 244463490 922910058 259421507 661298129 673756484 797538062 512311908 781104063 381301433 515751077 369463868 213408846 788491097 843162396 554743072 338183966 560765470 427200152 215504909 129776612 455720095 965760240 631831321 410884038 760479707 816734776 697053427 514731095 513556312 352560657 188641094 878956180 704119484 996182008 402299930 396481387 933346740 462877610 104746806 182828763 855299806 107865826 719798532 384523831 808103858 453999393 988056638 470586675 432588217 691714334 339081875 247879453 511484829 320692698 237679841 419229717 810724287 246422456 691784286 186855187 363635910 232510811 260503207 131714960 308824829 960725546 413018324 259530695 192754630 891354957 698643737 218409490 331304900 744117865 565041775 503190521 759465449 801488005 409481867 417064387 380224708 997791456 550731785 242493661 527201979 215070874 355747072 756205730 534361963 525737723 226428752 764091096 863688278 897139239 668261863 249703042 299968374 715618748 787210965 848380296 188089934 751335985 118812118 962290523 605281365 596860545 273897002 293162286 143367525 661009233 901704955 254004375 837436086 859211566 478190743 146156874 124049666 768262052 414885626 977337990 457273149 909992259 576714530 194759851 859516814 532644239 269121035 373161245 301999788 389987832 212984684 372692010 560803023 372945079 903024055 675160888 370112455 221105281 258047522 379862936 751863869 633250159 255866256 916941789 988356453 574868966 650655414 823302664 105760844 658392207 832282926 473732558 292127727 813974080 101481462 320651636 969004295 516783061 515124398 519062762 649538574 552280839 775593236 870752831 670544240 690358935 377789821 523548914 268493946 125778942 161977304 318043140 386307506 552993214 329755110 205050693 152002692 829744141 868717468 535768131 506447031 541794639 788173793 262439326 971959154 683971322 450439728 783909925 199885392 461073568 912116534 539147431 886241077 754717373 127483959 110467815 303115532 432246796 620767015 349269507 904838180 512936515 109551105 140213601 914044659 186735018 849971502 359222415 695975000 444398943 132609364 448832251 672700330 617223756 193295035 948573695 943279876 738371746 386452309 450269212 853776009 136892245 264728242 304696970 674810527 898093627 827098035 490333831 592946358 493434792 562425823 439794684 110234244 468423091 440054819 912219536 692310302 462432213 839098907 205238866 829929053 705418546 738504901 662597573 815624140 885260593 632675548 813579906 294173840 112145297 391768657 391978182 309919391 311817440 379152233 243612688 516066936 355652395 565102680 796617973 326838329 774292851 849283893 511219588 533772296 698332028 167496047 230897862 222167590 349743978 786843988 879999272 135577223 490945639 355989007 558739125 525132281 964056250 715238261 119337906 312532353 748219596 273629647 874982743 521428246 883891419 491029458 897748980 529863956 905690999 638869250 526086152 618769060 612065313 843293411 936846823 876481758 758825531 648464722 846700923 378638688 431564059 590029359 706791101 708531618 171552868 824707708 754771471 676613265 401442180 598939304 980502832 956785937 756334383 508107885 147608133 369937661 483084052 662465858 584328861 982322836 698868944 565885501 544661421 101193705 562420869 962091128 520813282 858694655 996899287 964319025 999337141 831693426 999388846 710913355 706867572 232972924 519952679 638073177 931393011 778978483 827526601 617584089 741824302 973806462 261678165 288728849 797196315 609142455 681871229 517229596 673857187 555104468 413701193 576086333 590847451 427390039 394827980 546287827 615783345 583354348 299508162 806799159 777624555 254248443 243500335 169887568 666509892 814531097 247924437 272487633 335600222 150681333 947777022 543473638 370688799 856918561 781317968 167179852 861197100 615996780 790939591 659899492 282558166 710626829 110247606 681074745 132009170 598437848 203574836 537324998 665653220 905379711 949501021 957181414 929519048 757150906 432410356 909655048 802107822 856855565 807061918 359780427 932846109 222022140 990234541 813494426 587143742 492418625 655736999 158216189 877669765 210989279 168185565 464143861 537468646 923730371 533699728 804059219 101545307 726782233 155373222 724982863 535587747 685634685 586391225 423044749 570815062 266155670 880911851 861938568 728424482 555813644 637766704 885786787 685717130 221681585 607459232 899175099 312248545 535815690 446919764 826013881 545975038 901932312 665949742 729475587 816924520 784125284 382818952 129293238 814458463 517092904 776417488 988384078 596188970 468833347 409487195 766648880 519611137 268176978 178469773 360882850 119370433 461688843 765689194 660506711 546802211 291746071 366006966 991966267 737257293 407197623 878053789 818169009 320991701 508920407 916054915 547820741 334304949 287723156 374741542 588575035 752576549 385259338 249212435 664081485 962118457 294116443 905811638 722296256 989086782 687063064 319566239 807385151 628219597 834220677 863918766 357394280 991249569 476995675 954610063 753992114 164559417 229865363 930888498 201373969 106858830 666655263 238580664 392049296 349425580 753079293 198291239 408032072 613495095 664441047 183331609 144422454 492090234 637278603 106313698 460764835 232859144 109268115 454976773 429892194 170470388 277261747 396343186 890827454 353028739 286847899 949593630 714598164 980792008 345480540 593922968 801076263 328307053 679251058 111830701 721325515 767031501 989839025 418696550 378320111 972115037 412417927 421961199 511887586 708941659 185667023 821099099 742347920 723387998 501988902 306291100 482757172 792155158 401604777 454226334 581386640 424159807 767546656 393209368 278364044 529179296 727508744 331048454 710089838 431711688 831045471 105167926 866884147 466365061 916283098 925144406 347904635 857126250 350214463 823449975 470827271 696495009 211053827 375960345 632062905 729906351 866278469 622571504 248124071 450323645 191836800 933693506 580996565 600314614 508297326 392002684 786871184 131015837 742864074 707327111 741872112 869620767 355776885 759773427 831998711 514784390 190643660 640502737 168445768 173009906 998920098 549723213 423641455 887054415 255802715 770769557 137144095 156491691 894341359 766157261 630077680 866281723 974925130 146319871 373505859 966427758 529002761 712999127 190239433 486023541 623089892 540158710 261544345 632076487 575313471 135476593 526604878 534184195 807316257 322332565 781145630 716057443 282258749 922973858 787767480 116481253 934358197 311801693 914563723 551816878 867215467 968219934 968871538 212632089 731639700 109812547 862975945 197352826 660785908 992109494 202659495 814691920 569441019 200245223 149261505 986951922 830846914 284103728 383469945 167319051 810700006 607911595 176028826 383552982 912633201 397398929 679270234 568575405 427199460 313941857 792600912 601478108 867499109 573857247 352553744 874300235 365587925 113277238 838205939 476424169 906184585 143513033 562761057 409034271 340365168 499189057 176222248 713927500 107626429 175451088 494817069 201961680 604229531 439306786 179115530 485962149 384732267 220197167 907698309 836009081 223040165 237215509 574433055 932264212 302645309 201855362 382347721 610339533 100641976 402795543 489737895 325206312 125532538 636663735 682111667 596261317 470857546 703277565 152114933 624347477 896797647 255086477 244795426 600794717 231264369 783162343 362477944 635157936 240341284 469933201 308521338 957774010 588721842 286717580 213684164 181698758 904070648 547242889 854808008 470012226 510815046 439380699 242561437 611164586 668061033 416941516 750951300 170132784 870456592 421053853 914324370 473863025 229852633 950917692 668136642 453863883 932169794 430958140 529035706 712041370 642921508 865628720 553910009 140103505 525785570 631666871 407125104 293346997 191160108 463462188 458222992 470518371 930131720 868254201 290217969 238255940 813711763 570215405 611505379 853904809 981757184 555084774 825776978 561332140 755539472 263191208 105510292 270486280 865916785 125032981 733503491 991198902 615256203 671377579 509511212 702083714 720583944 637532270 454674928 155335992 885922944 710666657 385415856 792873932 788263182 832610234 810029511 245359880 767008632 195445832 625735865 944025128 669444027 207007537 179971894 249626792 272410929 179224693 784688866 275518039 333835254 339438426 122995101 375949134 527648277 233355035 907720906 367205148 175617151 231207259 992811672 481765988 857969753 732509921 639387001 109662032 189851940 152608307 854940381 289835721 591936598 707231296 621113049 700621709 278078629 723439269 643116939 423068608 989810180 943624257 353017904 461305715 934918451 716853187 505266306 816864434 223500099 842968623 909841376 259650433 118657036 703666111 249989869 468230033 410075165 528404102 757006130 920823327 764042598 527869717 572675673 172741082 723988060 860738588 489388617 213706466 829995546 435149518 466470621 767902290 184103120 371016107 701597154 212670291 358177368 932337979 850160319 597494153 526538895 231604863 405720192 848550601 791344332 414673829 281531250 817793493 427461389 638894531 738715154 728325644 711232637 660284652 198309179 100257459 829479014 366692557 566493340 286253493 872297700 313860961 522996502 975097732 116226446 874899070 364799936 535973226 858524883 812020443 890801409 617684705 707107138 167906041 151470172 798252226 845969109 746218325 364200860 560935309 513760043 929562825 266738671 526211081 208888206 793317014 184689837 658132741 820726792 639092202 922347789 601228500 862686368 845448311 301952053 890178299 679755911 895025480 571995526 703881888 518861851 754686970 325389784 354865484 773840920 595533103 396649557 443873045 273226616 122767377 276087358 739963792 251464190 420493418 581705271 721762599 813627275 689866545 170572341 673932503 960633164 514130074 839656955 793775912 573063474 767810738 489357498 518777462 118104993 258827633 878467337 878577166 704627852 988351603 979336088 807833502 883774821 125382285 958036658 679974024 708614259 600656007 656254952 441777815 632131227 660183282 330328033 213529463 749659090 829311123 946721446 510410801 148491544 545203594 787797114 285674364 181973677 894846765 644310566 670231804 308271018 960372949 820588609 253487053 403855088 503914134 636426804 980924651 254976844 684615991 947159439 755896414 350194073 762453653 296689962 595102544 257168642 390264848 399763307 895871189 467052857 429560207 688364724 530515984 602815247 101631570 270965303 441699444 575828985 648091422 259673901 609257763 467142681 567112237 472729871 665979943 487101244 232308734 109921109 233557295 756073554 656551484 942168804 455094634 939377270 655952402 709640496 388878736 181134185 617836341 809105694 802857090 135559311 391392357 163936224 943089425 412265130 881939614 797859204 110214961 264657646 700472573 740767499 820124365 699191479 832583920 628800728 380185607 213377486 723007534 541142347 847027213 972764911 297117822 295586741 187818302 956931859 385779654 200257897 928411072 288183808 811206673 421238306 123225040 368852988 746874783 578420370 642258896 914647699 579204420 307694929 711732791 546475791 355243298 688941465 337750233 324112628 491894322 440927842 711754763 449847086 960050513 338377768 164711994 508240550 623591746 845715049 784717519 306943170 884206617 539695362 894844855 334169272 778461048 443666935 945106750 932626199 838902393 617297143 395399821 775284486 645115177 794941928 308597331 149025588 273437538 512742901 535936810 765227059 717438083 422330117 446635246 257872497 749411946 839514812 306161224 832218805 177174712 560438167 210481458 745772244 439569323 287350244 413757442 277719651 771691883 621342538 607041206 613022610 212356188 281399962 915102588 975349339 287138110 791526300 896200370 175917412 560966538 116970260 759191593 127521480 915204166 471624790 713603127 855452821 986183105 334917509 830186225 742204388 637718053 228850464 456717420 812036966 902754979 457450063 717289965 313099251 521749929 181309888 612054814 540278241 799778085 264986756 611455945 199200153 710823035 822964502 865354643 296416894 831752340 143310252 993585034 684049520 174261009 211380464 138617248 162560318 971031880 375905523 538059098 623418552 383168656 356211887 787310196 629303846 405906964 844326668 751520537 823321306 338268211 136421206 142243313 401723190 374545832 385914538 919446173 148229103 152268927 420458145 264038679 489308898 938539215 953533768 983026766 166038062 235898139 235308552 624760736 902636993 851773059 357296817 570728366 790652170 644206396 768395179 563076764 879085341 325096705 244810928 443279278 537820031 117248757 374453455 719348855 780870151 739302352 306726663 982639287 853008516 149900493 610255818 443846515 670990018 682246752 160893086 560210229 153971694 719150333 317723124 731032844 510423948 356926920 249470858 927565022 987731336 765690667 575442717 674405219 888782905 775067684 588988505 617936341 699559394 604655017 417353328 931408189 169689912 789922302 868757040 364279524 594551492 373004096 976246509 736481258 712644480 338851650 340759543 684222289 313342818 421660016 442502877 379355365 186162739 711677073 335267501 374746665 183250335 939166125 323685797 881356989 534154335 492387549 140462854 411960209 634671936 978386153 769643978 294055971 655748770 388117064 735626425 927141403 328424565 431909262 236501501 810342275 132281960 825724619 161294497 955940845 709419750 835163434 318786248 401643703 608806842 538855119 567939966 786512068 907643897 461554703 835617824 917212577 903196346 474383440 470925476 277186982 104496846 481323807 802007820 896954392 902708374 324575580 921964520 226775558 412243585 199590545 210828448 173285376 325809050 154501434 258409146 782432011 109347256 916883033 941332193 560332017 214660310 277276175 520496830 467540364 414794265 671591003 490353113 371312626 834289757 688283358 818156397 601864705 885633608 390486464 981563284 628664954 588615963 514077853 700474744 877365745 807277854 429536760 762910031 769920558 911871337 183424786 195151852 328779244 937902557 560822322 637936077 316024018 923409186 450903264 479709685 520095401 972983349 521711068 894898900 935520361 501038641 359375520 906714522 561042756 941007837 564348614 110458005 569198210 314699103 734575313 970191773 529150313 746656575 942473292 146147802 798367249 175268479 554390975 504470846 874693298 318377633 109868813 590731347 273209091 807044135 460439901 695804533 150580562 942800480 634591180 235520946 446773538 332562864 614275622 254408476 755091986 942941116 599274669 946429566 138946022 114984190 239403289 557687875 512147527 556377593 819095214 812805455 647087485 464501063 860739281 717956416 980336408 640778332 601476448 599806613 459503035 885246712 183516466 387737419 497524521 953722664 101402742 511032079 490208744 364588167 907768467 732522392 662749129 709714104 391586857 835639740 493509482 511588132 582366321 697773550 673664773 133928659 913854502 618765267 813919353 534082602 828866806 125702585 709183190 478646195 977490346 923535083 867534035 197066515 616260477 138629098 733829587 935902241 368996208 302010437 285805164 770629855 517704370 730024224 378533876 970898895 212550584 327753633 995893363 453430029 156316730 470381719 649941931 480564144 267097753 755978184 453801309 464495426 986843575 875956112 449653509 425060459 928249839 572836793 795024798 735089223 826609186 270018688 472725257 323113237 535401455 883131447 308607851 360001271 230753389 682769563 203399934 275205767 218114387 263828957 733088888 263735639 548508243 177338723 389665529 523740782 864596671 294028616 761750929 602601325 648305561 257863524 343454981 191706740 550462119 650682322 885852799 159653607 340448001 911685901 598633439 306670708 108394847 258260178 190120225 923646722 662437845 562945558 309593832 648127814 725097852 484837924 292475164 688465074 200031628 395172365 544263052 413716535 485363637 898212624 873294002 610313779 308611018 703021477 429624868 857222635 800644452 264207655 142313852 566069830 852660570 150014920 778980426 860786119 214518352 542237666 738876744 898123546 513094560 565213912 142197119 929158221 699598175 719905927 494702644 607385734 427141922 123964841 626296652 813789234 427433134 321501867 665295925 735554269 456274736 156257007 262834588 227484640 830112474 418097802 764181502 920491821 460562416 900094827 798193467 212787371 215760910 621109380 182922794 598238274 459989316 354690575 575122319 238020409 492467523 258778747 713909029 937133583 893037671 452980723 599730024 405480953 444409346 237370511 789663532 552438473 860162018 662806004 237650189 180921897 624050513 665860262 793544529 593763343 927278972 642017205 821364365 798742498 600824398 376927727 227617174 487541309 420213172 278701178 957922071 718120585 753708863 724613712 588094213 196165970 342008088 287011372 361584304 953164223 853871255 803841120 520772914 581079763 737906748 201486812 165749456 386917416 816396488 697350204 527123414 260958346 256266606 758573329 819006345 703411376 212219819 572417838 120997338 845188465 386289423 194557834 769506884 445694573 543892834 134003795 360292753 448533467 118507538 280980937 957817383 977049302 869990604 557152955 883312820 103338097 238100096 182769851 194800273 744886562 100994163 586213786 787850772 360739972 203914675 971901177 783799263 161235855 694095625 138971710 835542861 658091010 421167530 121648298 406041688 771780471 482302654 341850715 371472999 210296921 707061622 703897422 263777236 121740023 739101391 908758643 196581123 527191656 176932944 259442700 599950139 920154086 361925576 544462567 577898378 928605344 336213911 933089089 922772537 365646334 813198125 611291686 422749039 760989651 230683063 796753995 226876354 753874000 304471087 225826351 517633412 665004396 533965346 958011150 122966601 121433854 908372512 999080199 662093984 714928837 516831776 164215142 234901627 429152711 726227015 752441014 950607004 692720719 245664946 968960264 172570447 575910319 998912580 651439283 138704824 221293666 783742601 727242245 156437302 400556179 371166748 885502562 609750928 901507036 884680693 792688654 673239574 201428502 457070783 211183212 123706680 564896211 512063458 778920038 232741086 537693527 926319049 520013011 743033210 374592343 174197643 858856480 929519070 803930478 308791766 951703022 805179041 534209919 858417577 735592646 785168421 624482079 474778256 859009713 703712886 601894778 161343478 246833329 446407675 260797783 496255562 943084322 305621914 847100911 128081685 918238463 874390419 889979049 563613659 287857644 360599622 906611826 203713509 953083069 654476747 793551977 976007454 511728869 629062540 314094596 184637695 107905988 847783659 868779014 783180101 716684892 351402525 199515117 342423440 146934960 932043101 521093971 630686911 710633741 946997694 910947849 755311504 339987975 788332716 664987922 831785662 918502564 629844618 900951354 894928889 940076118 329688581 219803635 513938083 275513956 470388484 790031111 169705051 672933361 342437419 651172430 632920033 165009988 218986108 133536581 694864656 273074528 441030101 854866427 425946283 176008255 202626344 840147223 209889438 300929702 980659096 749302466 947805896 173559288 404405994 943425420 642239517 538858168 903449695 830975450 360965221 967826455 325397852 746405865 474736607 275022378 548135752 774460261 389008774 949499611 516243568 962776187 296138991 789924505 621696167 905647594 314912832 751319987 752827737 344250540 925792655 488013156 999914783 947373276 506234634 766773087 642108477 560107846 366820442 528975609 205594972 804843558 484711838 751779031 129384415 387841008 114565875 163561107 465938947 568261123 877642851 305934388 323817977 858667853 540250739 741846848 658242968 935399903 303665870 604323527 650248397 513109224 342759155 740434267 505129420 982641652 152517287 947493559 417604113 786379371 818785814 297211107 381271190 219042662 662417119 374488410 166126343 912344137 848557294 655132643 609307818 556948808 926589699 239287902 646606676 485340795 480647137 348215439 751997979 214754407 372102740 471264395 945955934 212340290 891006551 229350552 279510336 297711359 674884457 709533195 904519919 801724401 624168696 988100726 766469860 287132727 512339139 262255474 479693532 858388405 822770423 708963970 819317030 585476630 353719184 514395940 848321639 907336667 260660319 453945937 550867399 833981547 369426458 977334895 499906115 316828388 651710518 337676623 732598754 672148573 488816128 273435406 636845969 713948780 426993125 218072413 968340912 368883662 983845695 726788884 991566947 302122704 878150642 531343063 419323531 600032362 741514606 146949684 749448749 954562388 473893641 955840193 401871423 395131137 301943649 612714224 401178865 773994373 822318968 192880968 536748913 697839490 930942569 489950970 860160563 376877567 268451028 687181363 965162863 938915967 587614417 721503913 743091091 347467961 487311235 782466562 155792316 339459345 751593484 329842826 882764729 278056185 705455283 940673000 200800052 418796149 292497505 909586682 158242448 139675034 263035446 849957429 383263677 426260296 412486547 104453417 364301958 105594789 730875641 830478304 736257346 976827141 911712870 675287297 631621117 685720677 686407733 764556183 332008294 188370195 981742752 397377194 844422637 937448946 494722256 522427652 645851434 105607557 961331656 657340383 115780772 822363898 386193781 537696090 193261208 974856757 509710915 399950920 126429475 216272892 748694067 480520840 465412594 946302010 987853356 231042917 521155027 343009859 736257820 347357328 395022160 869670986 626182814 103560969 319954160 933844894 230453906 417989340 294698066 893774099 689353269 138121238 699591133 369490099 892326663 563409616 784225398 394417585 451387226 600283441 125143795 773886946 855953504 249763730 577033243 983659752 504341657 815411848 771868685 462032257 170139520 336429440 577149484 560167792 274865260 816959458 475688839 153468473 391801065 492866737 149147114 264768431 221505449 265293853 832962630 843057999 621457319 691778069 461944266 263864089 206211461 589074150 279241580 806531148 696448080 387211778 574066534 890959273 682047863 479695714 639956364 647508443 987485048 190956876 364687108 308603824 845020573 443938287 796822619 803299544 269031991 455114864 849713767 471773706 902489109 112760241 888607470 972975287 966759073 246022440 983130746 106470729 138075543 649358092 997136796 896947512 914261269 658155095 567540025 567562428 536579135 532346937 697028282 462289932 970657012 830721542 228897933 765637866 685937437 332000205 436851908 154692817 674694669 245247996 404195521 552780120 207676586 384065861 553886563 675331945 370415162 187198362 566012022 496621537 341155125 828698330 468696936 332797563 505778406 620127098 440853893 895829004 617819005 503952567 935432751 809668252 727489454 159772195 170766318 847624673 891482681 847384491 976321344 225510006 769402887 367015503 784900571 759380889 429986338 456467067 844335901 663465841 156206574 180866903 295966500 240829147 330858960 219103716 578986494 457956788 161381924 675198040 631646576 201019449 555001172 371937294 599620490 725552415 746424369 252916849 154261066 651046394 862618067 814358957 886530246 217980311 278380653 165248484 152915612 666792315 284430452 865484666 722772041 516640832 796001336 159289314 133358628 778632786 143238832 786467188 618754117 920830107 356622470 344730447 243759148 461804016 670735852 468563482 776396078 360428586 217719341 157160900 350364588 926807282 537019209 505262457 553777662 832930177 764543498 997723009 901553825 809583826 215945900 669551093 381419673 907413037 113625993 887371585 738203633 952349324 571305367 935357974 248952057 945427758 756307491 576306209 974844228 143001087 412886811 124285105 915014295 361444709 495617630 351556083 369510166 257058468 757351307 822059408 250856046 500332886 621458735 923144222 691037497 713452896 168641031 554345406 847875211 774139102 121884891 208558501 900887697 279354400 343858235 117979652 919287901 659101045 186644587 607690371 117062372 287480006 271629572 541998721 598403803 492730484 289664329 804824122 381173806 204257073 193953990 565802573 653885907 344314288 593622507 964424077 974470200 453042146 352162596 173003153 375720373 669299027 496961630 843728982 575318715 712117465 143250519 480311430 116542818 208984656 509959571 405478996 163035634 825692094 876925210 394277307 835821754 933029011 717160430 321210624 100667718 296576494 963516204 114357429 411154462 326422843 950114936 564091494 201973758 479030956 738483466 531046763 787715594 779299659 811985022 899483480 139870165 883318507 485743441 549732803 642412734 812240931 121177642 134123103 323543435 291534453 781452662 490210840 534803701 634699044 473621915 387317086 613315994 646320375 955968036 213520316 360676526 456101274 492434060 414718820 852419365 503116955 177870511 735934594 413287374 528983043 865310450 420919221 527123168 260124147 312106337 665340475 249006642 253851243 851634622 536839050 849023139 729225972 782420349 810346267 304709353 172975775 761173347 893517473 619783850 901207001 867527494 171043485 528126344 366807884 872719141 242150559 383307822 294839325 986333143 318046012 871678584 735555807 619467935 719322211 107596214 681517154 645939193 499976255 138021171 175642041 179930027 973233658 595314826 273116435 268166454 323827738 456114222 775503073 656629275 196614579 542777500 688395695 154756727 360573182 785862708 875335409 123339446 976640387 294697762 501861315 390307532 785989389 953627129 195244870 719405508 214428150 352061167 665277299 792758637 977823534 666768882 122923415 546153127 348640320 927686055 824294212 513182979 658216147 596667637 385489822 415550006 994060880 110456370 523885539 380329246 322608766 714429275 327386671 564980076 555484488 543784869 868126933 322269220 561205398 284313354 999997021 911655839 883869310 424235337 865890594 319653878 860757329 248178549 169946655 365490525 510279910 106779529 774209858 199901886 418630203 343681164 485483233 922847202 667210285 509951873 611596784 254742536 421145560 707322952 412602631 651777775 569721261 231338610 451388941 757630111 174739240 844995614 780042799 313355590 663549751 329479259 652813808 504771843 706651322 869543911 957203641 695156992 912274731 629069378 603792313 831571792 179975003 655188148 706645281 885948505 739615140 123861223 415539757 749134503 109055609 877062360 805931062 565034857 792377088 914702075 288660784 369263678 757652638 384383395 672824519 871324321 764141429 572609207 582378755 809939549 553350220 603038257 220814035 948352449 751721694 896884972 883012028 651666428 872433539 853046446 618400115 664922906 326513247 852466897 653514167 411760491 545095608 725830320 900130404 861486370 896449685 810906221 830045263 902385446 848210866 543825703 289997471 674521479 491240856 429480321 603121713 300778719 372769808 282200657 492594866 245745267 889138136 110818309 528909769 830494726 472492701 679188934 408240485 742760013 686889598 894699102 397894873 527728122 762042168 975225966 679612887 560401922 524241274 435282148 863099073 138040539 133547055 896125920 872085537 595649496 430466385 742028933 928890274 744841098 928880047 496526698 213523867 715057367 463201588 644807975 611395009 108947096 970958986 102425566 388850961 541123529 460619788 844465457 651954871 744813495 191486972 626392922 834396942 353071073 456916198 436672957 419120243 691945157 732411919 695544326 617776248 308294091 421871610 254554674 738790651 953056462 274444469 449026436 131154035 795252284 134457787 450513298 510449008 813023571 631510048 638262363 733723046 190657954 241388816 280476321 739759916 204479671 665621620 782460509 992109263 150846051 543500369 698915700 259906037 587313301 880929869 118236987 506478804 902538097 969479957 674260077 101769308 901928405 150090683 454268449 890945288 548563368 857421090 919677873 253743475 602684850 167950101 435600057 555562035 518447164 227829558 355640409 232092368 266113491 909558329 519086746 938072989 535238215 111526274 458577433 858527446 394785645 341814334 435420962 583050980 977287618 407910851 773029952 988205080 578812506 764749081 239330811 802280202 866960045 791331713 383398947 805242460 501029682 651985499 937540997 750864494 977610559 124359625 988791478 353444789 616011859 762796721 321271447 828758327 563698249 725125612 990513317 596878737 875409414 778479076 849606205 156673494 345847870 719701549 817802166 720103232 793697301 215679894 363976831 437959741 113269196 545191247 417928590 770623909 464102471 894409764 748029012 675570593 969264364 387636534 590515452 600156561 352459953 580506885 296538571 988985383 178724720 379373611 706297553 620462681 937244765 775421986 318159922 147593449 230527537 462397859 882761843 853217562 610110544 443299477 613818799 982366345 452455572 949261801 874965056 754105914 638787002 363670830 570901461 427248227 712828340 556864581 473528063 747434918 905509169 503466512 915579479 175773926 315922469 401021025 950949973 334837034 300376868 289927374 718909005 163589663 988794334 880394371 478886417 178774112 342528296 936934959 348411787 444954713 281475186 287381073 358737597 780545788 436821041 200006841 857124501 433188459 450134447 339408613 971091573 182562259 607406092 151135266 108058957 141797165 529312359 985854638 630083329 698383243 927255673 706575663 211410517 591184768 774130298 915823992 710430632 337413535 735429576 728709634 208412450 314550678 997785547 807996932 656746729 216211627 697373363 214708276 109818728 427108034 653717024 508526970 853627674 719704404 780927005 767254115 578022876 822116858 930134300 838211016 436099899 326440660 666329969 543102910 690111027 972559435 332340504 975031729 180411121 408471700 319141719 910188761 391114573 381804337 442018984 275410763 869077480 333143905 116490206 856105365 262040105 961305299 241435767 834728526 855997085 264139880 974550465 151601969 472584446 552692108 206298566 675763096 657862968 613966726 433961426 963922604 875785918 241332614 434168333 759944470 377637061 435190044 885064886 342188801 946816212 838057064 684246031 428206773 388840002 389216473 877098374 113890353 879527404 256996615 904071022 421112273 276359290 817352168 985294537 193251405 120970890 836534759 566947763 124842616 452636701 434665909 325861552 843722664 988579642 563421076 796740286 233818528 838102923 381422239 152408561 972149456 517125429 693111338 380266979 858313906 998908894 968437680 112954401 707236610 460892159 952903804 425805184 509111930 308035955 205957965 438834355 641860747 260570351 238634025 341051074 643079344 778266150 786058918 221514249 866615340 673471440 311601421 582055364 285183354 523056784 308795643 109190676 369932170 403409379 556721440 782312566 100080282 474395995 646738968 612281566 604568412 901307009 378099070 852528568 947584586 272496562 555876942 186771544 871475431 429481622 907067426 107971167 217001704 137575894 444043490 636323335 414171529 735332114 772997393 670059024 675736447 742786434 793084246 119784163 817274105 336122021 764051013 297990565 843461025 252324812 919832896 486402360 695057401 853537037 807526516 386708364 841194662 978386218 756838375 732073589 830963027 335577246 547445177 615086217 988605649 254741359 985931417 832170876 358335406 727636256 774041029 603197792 335685870 330480695 907228549 134894093 566472004 485515721 484704980 821566189 412201546 593392750 856558629 960932400 196747560 545408517 756180461 916159069 970655371 525794934 657507456 631824856 445421248 816479307 483556555 800946411 992490718 180528855 925227894 149882762 808847663 132785973 430222503 254864773 482175145 700041940 706686533 510272723 254273467 490635236 198586257 215417202 561577842 930312141 490784767 306429421 370691024 773890521 975337516 744966136 318227322 802515251 834298400 728048079 578956579 724546379 443781080 140437199 991668603 594656165 322979109 601136111 139011426 438479504 979215332 847965002 851855583 195986422 446479945 812489644 797314307 642488091 464593944 755586730 366994612 482277254 798715829 833893662 987187372 204711018 584341549 728491663 323637837 572387667 125559873 390367647 748912220 972477430 807839300 206717580 126765481 988147232 751267952 671831648 264935765 392422506 473964364 683448680 365808105 505513522 386049359 396559437 694043045 914662582 518988550 649293050 460884146 106059836 100511085 998252464 655089612 727656711 948983114 317439955 434393699 489410902 984563738 777099394 465761361 152424661 487345540 581082319 301054592 711812846 610043197 652406051 500771623 452330574 792226846 680586754 315618650 932367066 605474731 571001261 950803415 851835633 719276043 172417838 141085879 917787024 224771116 765942596 472119637 126342286 279535355 239736977 332230446 624869097 866018413 210864666 945056940 414548183 401651881 362195465 962609346 967944522 685510448 544335687 894140847 922089083 790501799 767520674 267835425 689599461 805647159 896423061 194550506 792326232 802239348 359851569 364352261 751447274 217567037 737799460 314217308 656395601 208030374 656662179 352026312 279064396 661958646 251646883 308166306 381445542 815761547 439897891 303231463 257592625 137491301 794655930 334875187 925716690 187581817 162625364 744185872 904831824 619107326 169509439 210201245 450368022 142194289 172352281 836077378 346542384 349566406 859278760 599097294 651658451 165338568 308673271 334994454 787963913 732073359 783673584 831728140 339149498 867325699 910676072 731364397 426516980 979945976 257896759 450111597 837389402 239062179 843725596 816794239 343186938 479572115 496092918 601820895 188640426 689616489 637389620 356507588 297631075 570706229 732077740 749985734 400415532 781707185 631204319 886378666 946899079 640421136 117566165 482235664 308119913 918928718 165365187 705147362 408258009 678048494 438389302 763807208 846441729 803793662 144207676 567441980 313751939 589756867 854185252 899328388 411055546 574763740 670260334 505509496 297512349 945336422 148794158 590575880 144661147 150266060 447408909 110792959 183086727 996926555 559369295 556908042 194329248 211773060 206995595 841283954 158021073 936020213 334725619 320550981 338543564 270719587 104760013 937042056 525085206 123475928 322480542 259595096 227502057 776149761 159024136 265473780 812658855 797176798 445634923 880469866 235748435 487232444 535487895 809829549 842574952 227844741 667711044 725207668 789724480 114134401 772998657 725687154 369381516 241500232 709229643 584990960 549532850 499438869 694720410 122882813 973826404 264748562 508085529 824724439 881134845 283456010 245008130 991711268 960902976 848667508 318845590 154702497 205738016 683449961 461766291 429087866 275906085 656793132 960860396 827548523 199252116 398308668 868877561 273123917 203962014 182848945 187050525 789230069 760488028 279894332 108384770 284709263 356388900 130479218 887465814 355724586 848796743 935781753 678649484 447423034 125651959 268680554 585583057 193685748 738971076 761085254 101900910 555333655 358013332 115926591 393668823 409403083 180101879 607241791 314096808 230072966 882902019 845846388 606228978 498226958 896128851 319854148 168878589 383431193 371564867 801776221 799673416 667481256 631078362 324844974 762016382 125249292 787830740 129346034 306104001 924372238 292642027 678248552 739033076 826675009 856784775 585881782 362626943 310294657 419884544 269083389 477332420 750670055 165382294 963569720 335818384 526546669 327676058 799218059 252006880 162767131 721326547 655971219 160128602 927174024 314756354 172014220 553874715 949665556 489321086 876172681 438501800 961483373 339278418 418264240 392029818 109285849 942966641 394886013 224314945 462702757 215034215 240232366 927366695 770095741 122241721 437052562 462005827 195974244 173153544 648159619 338972853 995739682 327803256 162636857 356225134 264113006 502388673 158673908 757154017 811351454 234259279 400797960 913599743 211804181 926472185 336553960 835668777 288931035 942005166 844052373 629929267 496502974 921444941 633786161 298185274 911165802 220737099 336414783 300374766 478254665 307658430 662273817 802998036 460084229 879825920 187311336 268422988 197148872 927080775 511320729 487582630 888138350 247891447 244857670 212096973 786739722 369758709 422365946 908775998 647617782 504414431 677772227 190229961 663861613 565446927 454799119 987167127 404215940 722220422 808701902 897949918 457012938 323706334 586577757 194614883 497564204 890515141 591822553 878673542 276706624 703037440 583880062 984837286 865859418 993695597 749052401 401954549 363172274 557293057 786745518 713077443 659848702 883230655 804703878 275187810 599484253 528192213 976503303 898848220 194041598 501301921 279741105 620645791 101039684 843025965 503117045 600368839 985073311 368362541 219738558 640736317 320359665 737951295 775852644 124571291 432931150 255499134 277973686 505027080 983574649 711330216 959942276 792620434 380541200 493865722 567061995 557975130 298215160 949597325 173189170 150100438 935444847 237391568 148085084 975469830 518900324 736670164 989354040 354477046 878126436 973616274 769571934 947139935 666830361 607238274 428427054 143459678 765525596 287973132 147837069 191432592 892152718 527027233 568489449 521456677 454000958 787731329 606174415 717744235 107106111 835237467 190191124 180190823 299725307 297807430 146157490 943337393 994614021 337536727 209703880 939792932 774551480 397426924 368263473 962645883 594187790 509442325 790021107 848572367 305152373 969656657 420663121 370621482 294625007 765322264 946982982 208953483 355721227 978764908 710815019 519296099 969643581 832371123 844670581 215626754 307833687 977366063 417896087 828339795 918202392 837594095 466135513 514912443 843608380 474939499 419150950 113717983 591224618 522618232 860443233 178097160 522021191 891434512 721218845 960133950 708637625 283572647 647357984 198367937 100630077 289889373 251738552 326273636 588347546 436484839 397879704 149570052 995398472 818720680 210920184 842188423 428778844 393468108 224587275 888450560 364167992 449269146 688594710 803756691 683442080 579140923 174985312 100198608 917537502 464993428 504034301 418554627 218583196 779586770 563388264 504355222 679031256 234172620 714189137 706819628 457830190 654497893 193551127 693961714 382310976 416273698 272026430 742214803 939238849 699230386 282666904 426366098 824361092 391904034 380412026 221174867 361787497 979448938 124623076 693145597 681806581 178725867 142049125 667351627 505812908 406437782 845821212 684755222 380775287 873353528 733538168 573136106 538940026 793831274 182489619 959662248 568397190 302012176 144738356 894858156 580551834 865995815 396793350 990560372 747314165 523764387 186725343 517823724 757863280 414525795 244692746 337558111 381757293 227519604 736645333 162989768 709690707 425735154 377653306 951734749 811795734 756362105 178568798 747230015 118608154 800099395 825283954 746183061 310313721 763792248 375693314 314868024 318287406 479263399 885951472 363677803 731885796 828948634 857812828 581390748 831577050 428490652 943676965 111283557 507477688 117131883 650861983 255622607 659329866 686383704 668308443 330853703 739236854 868883154 799556938 996542950 705325787 653113150 814620388 561362221 740104998 792015961 890060333 609387225 446508095 690857362 889479001 365196065 772266684 647497547 307213331 140568577 615705501 332117321 567820952 505703999 655233996 573776111 455904132 657652853 461013289 162030793 904952458 373687199 975792757 381215586 327003263 172631912 709470736 330937728 303130635 904483750 435963436 393986071 134780031 871411207 303569335 649901888 835143373 815762131 321125062 817058457 547827881 410333161 883064286 841463941 677590499 646502253 214139951 769075736 334466018 506730869 780706059 522414969 702380644 262258163 196917002 858300658 464381857 237083037 801654621 864808270 410634659 960817270 173261079 109283560 960594581 731281391 571394330 118123906 536087302 411818186 728988143 806359949 609090916 608757438 809623316 991741392 553375519 693767936 675165060 615279052 662541034 941249163 969082379 637064093 963294635 859266101 125987484 758734094 232892829 386197288 425146968 248930957 822518623 392048203 434845215 929881370 122171937 750870767 734290212 763121698 136397095 417855742 729142394 696034684 275726798 503015736 884316005 535609245 827003065 232495252 295295404 196448344 188684431 927762524 629666232 361814166 598021096 853607093 629384342 785504889 206096638 537845069 763561598 651584187 690742409 581216564 145868812 968980356 507907358 919645380 790289176 543820816 943726075 908467608 980046840 221333786 309227524 641744469 998143840 945875689 532385857 736634348 363902556 817554585 818577815 837208746 656301428 888250734 369940391 250936293 143917359 374116288 538842361 583593657 554483288 752084060 805529514 518141875 408047124 890883671 917539114 754331519 912619673 146858385 267551991 522995358 477397731 937125306 986958638 453751298 481903681 831169794 390915195 201474790 968106938 953419736 799673957 366847163 744308443 741773027 181178872 236941072 940881906 937565642 523512741 507758917 732240520 449507866 686658542 671050038 547684897 757701032 489195487 379430195 260698129 483207501 312542358 823505163 710913741 949717459 206637457 352834614 123532362 659974842 817541344 547986024 464528847 264583327 322061969 572010724 949986663 396632125 945955607 247423282 184885144 441645458 719024521 962794922 269549701 202037259 827611871 784818178 193747449 111927868 643360922 477283473 906343757 681168503 706020211 926926733 405394326 805917571 636230637 644279918 988834507 217011142 442974796 903671203 269089130 603183957 941893894 587218795 268919943 764279090 823093571 606758257 528170283 388283563 876428348 871668146 519462180 681801846 104719795 852252115 906483279 865412116 943572587 231359133 949730917 927561529 805324495 918837834 653543941 712412220 733979416 659848119 396564601 594318597 996127643 285951085 186120845 160923474 266702854 317218676 982237463 891680978 460749514 237512507 985267142 429249094 847329377 824580478 454253953 326565967 463571706 168838700 179932450 342774755 253206455 490688901 703440904 200253217 539925065 386428961 316319834 639198067 151001947 685704808 927886850 595311577 644544307 610935933 639257340 836687655 619540209 206945596 178733761 245085156 779701136 946574795 802180291 941705434 886701315 753802190 351663489 481851850 310684429 755652424 226357896 289781218 205136225 370136920 716523505 662852329 242466719 238423631 672378917 274639851 233842735 969767830 587561665 558812260 721034229 207454546 727708304 848034251 854938848 462411076 966250029 365695967 503705051 541707887 217842857 833807010 987196803 364144012 253086537 137079367 722421922 733036022 946179866 470641811 292922637 484569673 310078422 146837302 743212132 268311364 997147029 949758293 915906488 771768247 837366514 333635486 369484712 506798388 868316329 704195768 780787820 867581318 218985125 737892024 688527248 372412684 697626807 802022752 992852604 770937119 230409354 183613041 797505003 274152235 833363780 898792152 635888568 191386972 812207979 403989354 630932740 821940036 764216911 867398311 543170240 223779006 373206263 839851905 362630745 199013152 175516611 119945198 548683200 880828261 450893389 489094186 886803769 668889009 800655180 494470372 965973920 887489022 310177112 533049159 720187788 873282309 202715333 702472818 623389962 185156446 488915235 410274885 939564451 911901675 824766879 317177737 562585350 573941139 856255826 999558353 921878579 890068945 614661482 939751616 682836277 293649034 218804344 938677742 229399111 813168034 621000111 112054302 119767853 975883488 234568686 739584924 366647311 639611976 456109749 288505177 835322777 556445212 198838126 412796984 813028172 419250711 720603596 654256397 590052146 429616118 838818210 672151735 686228360 559354407 167985050 897389170 856429354 353904572 238459862 460134256 629425517 207919932 442274625 501269993 861266746 211927912 759575797 794344589 806143436 243497778 270628267 262781938 653819976 679043970 999710268 373213270 179442415 296621797 819012604 549962669 915399945 528276447 386604301 272755792 594114236 599371094 751496218 124168838 346513208 105134460 444994517 401366885 334508177 126629744 269868303 316560075 194868448 399521720 595497563 879846213 636124833 227629362 895809386 354983869 911676537 984345699 508576696 111655529 760511978 667669859 490123246 611273124 240991170 842253079 243749516 706669254 470179628 541828785 211965298 745777234 904127630 544675120 323344640 785633998 589717135 314602122 839418973 591408441 362505139 857313966 357348090 192245860 175978498 133990684 284047866 311152291 346308965 505930389 398117195 282998848 254326057 541356408 180540965 193832452 793635443 246871493 158923735 833159044 367958728 602023166 268254338 510289778 387166681 411821835 179143492 675936306 407685131 108492063 464972226 515445129 716261121 191984336 561259200 294701290 856769293 601027257 847135412 787760652 835360369 631812061 132047896 808060800 349330749 225007814 113597580 507438035 696144468 123342378 931796514 229755288 330662512 282422625 497412598 372189589 729673510 819957670 288911754 126835960 398965567 541616126 930354138 659797127 570086945 866671278 648898754 468609842 211580766 823181282 352533780 554801324 773545320 847920427 222762325 504127304 219570271 954902305 965638606 231814386 903683429 169492436 846081081 829678420 556368748 180614418 324854060 445993086 143306804 454054686 799669048 726711999 884412875 468865268 277287675 609625124 307341398 147941759 790009158 758486110 255117228 936790924 812112563 802954459 654375034 896483682 684109321 917254890 922735601 434841180 519776593 850814083 467161825 425485553 636956110 337286991 536299493 213049729 439922928 254967851 154537991 873332831 783331413 618557456 494895335 396830213 430093017 256900370 548806312 695874765 182487859 391801012 316683918 500958839 829575114 437435093 210570717 841641857 940985184 349387854 526050846 377626957 305424968 489049272 970787420 857488700 993464576 779499848 224317579 267979437 651945241 826643931 563755675 360290806 707329137 899218633 129418718 660665387 848126113 761236322 589599078 450189658 932417347 281220110 761674765 195894548 845005013 227047687 351597430 366988209 308854532 867730552 719070613 874656560 475635519 267425993 631412270 647715250 655028709 495631499 665864926 426821497 521341387 591132542 651540358 580348768 199795876 573519806 651008950 798405601 221807274 979518484 738992054 621909062 303369658 292491580 903972834 560667284 516417892 220819092 228891575 201225683 952189642 365236783 359669775 516442901 324500548 946809247 478448689 883472989 756488208 454311565 925196501 328741517 318332748 944063446 814883524 663076302 994197225 565568763 275004570 879359633 838633338 230566199 317368180 906175298 675479821 785466293 220127181 919942753 553416753 703288355 530378577 468457695 515942401 719206102 781458733 119568726 226983211 794348966 960526178 918590571 131549258 465828670 308182859 831600196 975010771 263931419 929647877 135047557 957012677 593361749 984720841 651683969 728053438 519757222 882843627 261569654 509122259 834690564 979129625 327118091 106154187 333271372 734809230 978920408 260300007 439706938 525778121 858099334 351636358 146549688 488177574 254678301 935790553 872262325 807297262 264844470 394442757 954453896 524393075 923200910 847013426 296766520 438769963 465394287 329759364 564154068 680928172 674458474 759416080 440956212 258969273 673205980 656725176 691740304 787725931 700230073 710009568 334829627 980934341 566852774 388743438 923268589 646354419 571532622 929532585 786237546 126795891 919548138 769368710 897218468 308333236 753568199 768179943 542395602 592107303 637315510 621561854 593068109 157252284 833252272 996463841 664713243 524081365 129997041 897238165 651233368 865837012 814787708 337604149 617977517 344041117 537933005 828257269 152801670 445975966 903014779 867892898 241099845 785065617 631948145 891379177 740537457 979665405 715475792 513432747 454244364 194865579 393497887 666347551 108486944 440877076 318741102 145092437 920144098 352693452 629097096 708487419 888056402 787485701 122802081 703765029 430902098 662533227 538371996 800661386 338586575 214035516 374766205 712748565 401751792 529289903 567626778 682332544 699390646 317472367 869236171 516446917 810876547 307165818 254746782 232544905 722070015 243502644 109752482 834085566 152390814 484903701 244248161 940679128 887747347 291396349 589978368 138269547 295562261 923172448 179498479 504132836 425376163 266383333 892153468 285561625 928823058 625076133 626004515 836106813 317913751 507526926 121517474 279835849 952001862 530525482 794863112 498918106 681450081 689696420 733951324 184072995 456066592 332928110 623447319 823125737 499540327 347869625 476530409 869462226 111923822 293211880 779946493 265983248 499690388 288216452 546163369 316948213 347621288 157126457 370642316 869421495 406149501 735297792 937341571 866501203 545016371 476926153 895627476 495513217 462660690 357089415 370743336 754008513 546624513 698156830 639868897 158967106 115840864 568173882 587247047 442432421 611819627 318641601 271455651 820974441 945475569 494418494 426960336 338285757 579351385 586291178 595374161 852321416 944044969 235437492 663923944 461188883 392405812 154101559 832105503 472774255 334044298 732693334 375010059 698037221 989760252 220183143 649972607 865410505 969329312 326631496 149628915 672922758 147409898 533577332 448682925 440185558 558551315 572819660 215409630 230833224 359290398 968890535 311548536 981507128 271284251 701088950 920540086 571078683 397083420 755561811 845484627 210014879 396351803 277057802 860607668 541066669 143310775 923706651 520365253 253004234 463588882 289315349 251987998 448030976 179545063 142260275 589374802 468241282 283242044 806652561 942377998 727852626 507165408 655609151 437467777 475517689 733925152 559263173 666933530 663756116 912432609 740776669 957472611 998430040 890841977 334844206 611658895 167032958 837809869 544676891 204936634 541817148 793892722 381878433 141787312 537479005 800351998 698598936 450675999 588233656 257469044 388996371 476803573 596303195 676350395 601101804 573186453 179881354 661035102 990283303 621898593 145293530 213880052 149681712 800494973 294135812 121528348 206016487 460292903 964625023 435862645 411322419 524426023 681046007 534017466 457508424 488078288 235025377 344005880 600512562 480760737 196556936 571890505 344129585 105099927 916831210 412976146 974954135 618245607 142095453 522972644 188091616 209179889 469927059 950839735 537872002 333196580 535306942 392748669 844725543 365363267 293419049 714979257 112933788 147388219 703178470 267445126 250285907 507381676 365904143 936957155 622654064 123305511 228293984 526162073 146280652 436701779 432513403 643110607 464631693 569777950 865247437 676624544 758637523 388498174 654569249 254717545 432195645 267607213 278915990 772122349 652631700 367679325 620739900 847905975 659936059 544247088 727676610 763761828 136204884 117262070 663815659 245833705 510726021 479896344 475067306 608656607 750220424 941583360 764524638 971027388 176824126 546377874 691158821 946195797 948885239 876214259 312923313 709506262 732619856 624555430 393909897 790890107 249871068 199369308 482735387 519961622 772076389 750785800 941927452 847466342 233449392 187344924 994289345 982301380 200585375 416779745 594124754 996539209 140657925 491105139 267493413 313304507 606268327 513747875 139634329 346315046 471944729 263158083 753318258 158964424 494190620 862735487 909494442 140620474 608290277 155412377 444499884 497723840 110955312 979184184 270379141 382854852 726184197 616153259 254182990 966513183 871948367 319959065 660316465 965333832 798887503 930034923 168753695 458687972 969567063 207842334 628835658 833731414 172832867 217916312 970937438 685375377 521488365 338427680 761437036 136319635 464298511 618449278 336711291 974660427 898482642 943104029 680350256 847512795 892372642 315873743 367504289 181193823 996112091 644207980 556629119 394757259 639364653 429738187 427630068 947556949 909789472 114294345 678852758 418874596 142812720 470912352 444927447 693463957 656069227 617466295 563236539 403798742 403255065 833068891 250257365 572012697 311003808 582344665 708903445 768352433 508162738 664756087 444199583 172695549 213719908 992504659 293112615 900040558 207375144 864128817 897951745 200765367 124808094 254429172 779749668 820583547 434755569 401393254 614326000 225210215 518592780 456714790 408611571 507205391 469943698 491083453 716310344 265022220 868285746 955354329 934905686 890044558 592005706 318622061 224822581 237557139 422395272 754630429 569972596 845927119 518365372 930662339 810921871 625473201 449014015 622051725 716092355 798623146 426327375 844395088 937941004 304984349 388852911 982661523 399654138 533636430 634830199 768585300 660619539 340376541 536605585 445234809 959028153 800641249 714424161 228008495 973825832 590708462 914971705 631593552 654234599 822085932 681124418 842210507 657036140 173081249 185960364 488765131 813284317 673910146 838005830 333161704 112540957 406311518 673517986 924846041 595438051 298160908 861099094 535659392 629706063 635677301 165785428 737980412 297893529 373220010 504623508 701205941 369972715 100078362 502427637 342030786 140082067 809537053 762726840 920513313 511214614 148892572 674153618 807906927 630650994 498636486 395163755 960366828 559100132 199761291 745451163 323547989 390948532 912985360 389839495 373658622 410275869 748038779 690701657 315285835 927644361 997686932 803176827 253975606 182153102 241979284 838875000 127980225 903111479 151758404 228015418 678337555 629092239 992555786 350719069 909353326 286541462 638888599 687173546 563549013 696420824 150634957 833959077 654627889 799816528 797858864 771126608 119419072 488365239 371555160 299718510 804445621 221904846 445782501 980702530 562872004 178823118 991523850 463144996 653218293 146675287 905564225 592100848 989344692 781390346 132294648 284618195 751127469 581958502 700956238 122080179 951454174 214558595 155686483 133467006 347730346 314220543 491877681 259999231 431759342 114497096 433063470 466842542 185157082 391796378 978724802 576653676 312681694 154596779 800894830 252869876 178387437 636732457 582841346 110243622 764767812 689365777 822335169 887609361 870810673 445441726 317881433 906285382 817388603 353504674 503956844 842614748 454939314 236468145 568196786 668497828 576406366 322115935 543229070 757762847 291370864 699561521 807631504 303901084 415996868 610969405 343264783 391958491 566644031 770699923 708738534 536212167 767892262 776281366 833566708 448667738 870855116 168387082 904761013 548444660 606272060 849868260 295265507 651975224 363876538 828482982 238047283 905833336 475018930 863274112 914034488 659250992 594787062 377622986 434113829 815961658 145905368 221691021 262349685 392580450 613142283 621642304 103315042 824885165 437606384 197373455 973116444 563874289 923498152 266508005 309717187 221675662 233749734 373673232 393733864 476216284 688111663 677412684 843316250 624566800 217654719 229821290 266848730 621255935 923427921 521251053 611047947 206853555 659870744 177435090 315602324 851373704 741719785 324499688 271173391 901877657 465275496 199109610 797142165 909994288 906850975 214051856 576887819 176794388 955999849 585554771 437691195 918933970 528309576 357182153 831193624 449986538 729269645 565030257 502620883 390610432 538100395 937092562 952623285 463575800 213771337 442685888 149278874 228789345 320009534 237753149 472970438 297586817 440047487 709243863 800515253 270159324 885752449 390889182 434249978 763436156 327627394 471178377 549805078 382305790 113416496 818915609 540893621 905331213 486391873 853387557 732457942 771677397 251794578 573444980 965921247 348210294 709087154 729024093 337425315 423528673 583289876 165707220 812771970 143461491 760983189 282456196 859504952 923647012 440546883 636134749 711243771 322335254 674503593 619393053 766768791 724613088 426927755 238117982 537591051 512073808 542533757 475235491 194736804 261635700 778228200 627321170 508735076 726717782 686736048 279555389 321642977 135210472 439181705 717400898 369651503 965060064 120667411 914468271 449379413 368531136 666866133 242908874 559169840 426227343 353660478 508601433 495174992 873724466 575193652 765561529 351093844 640757137 429418340 484219150 999156216 466558383 529113361 427805050 868066972 243252641 286703699 120163864 103578027 294993595 340622936 941333210 109382693 965500067 603443758 188508632 314908537 702499012 792063762 722373274 987840954 629112921 615239222 163158104 440000564 805951547 778430841 674117818 938451093 454294009 173052105 102162644 314101399 430840024 338740060 587307686 257383896 235063281 625579114 722507730 302539660 124414099 103008809 930494326 357601855 999865114 371780169 835072218 488037074 876900445 854040589 955952529 548273373 757935699 153898682 343669386 880261726 116516215 603350335 487135828 957549767 111130673 249208207 319401486 499804855 329313968 501477159 671726179 664569039 900571665 609266201 409628935 972327400 351259095 466374710 421036442 625019109 470720772 801634057 576107368 983201606 610560479 805235748 299182712 600459912 712998886 977697802 687090963 309565144 339493764 460780995 110525215 837033655 693798255 838280989 485451844 545311851 103990590 904143130 223459725 234428895 232126344 122962377 368549743 544200052 346272202 463212961 550009660 912777999 261810936 406424500 507283853 289014380 742204344 647360411 827420253 410333703 915452249 411832093 829978431 229139371 381050335 716587302 847615670 247998718 618311474 130370068 736784652 447007655 802294634 876326963 143535289 773207087 449956096 724088710 487603124 683238452 241405081 651661946 601328100 197709749 477765016 855021053 941354165 539142988 245095925 475999921 572641325 254394237 861588296 347412635 722972499 799653923 107987249 365232373 706802871 338234185 924315141 940976259 981735930 906424419 709219654 628141017 266951596 221098083 425206939 676836666 628795094 450242689 722331577 379016428 912729799 689643987 533979823 124709640 239268724 745081587 849992697 318102033 301248322 218250518 779668519 775371377 775804386 503228743 767082879 528728959 205516705 370590295 862395814 738217330 985641532 630101812 921520546 333115866 669618946 496573799 985278905 890043232 342626589 547680029 442769608 364140697 859349471 747308137 161447206 745170635 176422527 467856299 210560167 650589777 318771644 553475551 205076643 353092774 618277960 420865719 181324714 345649978 542288863 782033540 480398145 637944209 570019871 699475841 772557099 630275298 279004228 759657621 314354536 707590980 714089701 755216051 512411492 153667984 631208389 193752460 304423161 239101134 112928955 155003430 757348789 257254296 228271559 945227013 114735849 970516204 334383991 560709081 513065715 859287874 549468747 187888515 210664483 903415515 958647563 524996210 545645120 207856882 258562222 196584733 250948436 490053036 832123117 539984707 368983317 334959259 354770618 174511972 828287321 318044663 555183114 347952711 360830722 921001614 709050728 531495090 489442080 394635909 640381270 892837564 294759101 400806709 554876251 512598268 902892779 614900808 158889492 861758416 491489595 612697871 506314336 996173428 510944286 550836420 933330162 988289310 173862998 908226504 732449421 681517506 752136254 614527420 557534454 166300747 195891055 733827076 989804792 136974093 424597625 989483310 474719543 102760412 544442643 820040876 270195524 769206866 314507532 766223781 990675492 189610374 566771420 953360369 996363217 333382355 313062449 517668747 453204757 928216206 442774917 405349934 887048844 874880973 646604971 126735160 194741249 450073825 652536631 419707255 879286000 929540107 271310526 576550804 621065614 401350774 540287935 782642255 258386693 618736607 347347860 905272323 753558006 911308705 617831494 161845171 970061096 492977065 258880805 979211246 359335164 591604068 859537959 964656306 580313561 575407620 315207921 923108228 285675415 117635257 654643990 621689052 316945277 651368081 566056431 512511551 669931388 612090761 707745163 828320653 122905349 280315739 150481536 238705765 569584332 573335919 642142809 749421708 885212132 139469033 350891962 105081237 367428407 164952467 343989961 136916200 607769610 715374983 672855385 708351820 666602713 761828084 549711643 949595735 733065876 520077124 975286192 751544637 777754651 546502116 525912646 119243274 984353962 691758224 521592039 744546888 386408977 514832688 842147688 118741023 962772104 341231093 800442152 579645219 586103959 903719103 597932863 126095927 217301662 378816695 391893452 311353506 856351789 819527227 446635784 637646022 642044793 110524079 798344778 992886040 863029850 432855508 362353668 103657265 724057586 652165896 890011162 730769059 324472371 419437004 441363434 102566743 240634571 236129988 241204623 915107271 203824981 978545063 227690706 744578830 540747250 366197013 536052268 881040350 828391829 163098885 144997995 672855016 854477521 398211337 274472229 745431979 347159393 918388757 947268921 248742160 181195516 179853209 604210489 974254346 770774041 825057845 465383968 846894366 869177757 906794613 656423648 979443708 685321149 399268070 555552061 583287713 180376427 657956809 378944786 228176314 364833110 782395792 979775028 938558731 766509836 802021304 697367384 148923786 767261943 101047977 951750971 686479285 188966601 997211917 720592949 544877927 189996632 664446363 722307621 963200956 197247799 731976165 119929140 733175132 705338792 496825604 265213381 375491673 219529431 312183486 145802241 865410704 846257806 950604166 628971145 502203962 574677057 573644820 200855428 698693848 690657623 337564254 493732356 317411012 405946276 351782826 806908141 111892264 417929692 454866145 864711005 766198006 722716046 797771585 575708604 125103982 662539528 936376998 806986161 394846583 596276413 443183045 994366253 619982379 885240301 772113079 755196559 567835156 292420227 757791444 795960153 308636672 983484994 420561214 298010575 622761102 158387657 468169727 783748661 492448827 474871879 733981096 450771695 223426103 228861444 444399889 426593812 288376023 462851261 838365157 159164137 593589483 519115240 498292931 845356326 191244008 125040859 633712178 743944915 714560773 166028445 305678346 167363150 725163181 159688986 283078888 111535362 910079650 573479938 818335160 824834079 895588909 262984379 206886338 195350960 687526186 998496313 127026459 469641439 832010911 460531209 629245316 459219723 337432046 788724748 439907410 335121926 429240395 505323044 764006364 424968829 338625339 333417561 240622701 586515079 369968881 291900403 795884188 456400121 281172106 479486449 594470897 583059733 459497376 564146114 486679410 420225298 104369987 684053174 956680947 502295554 345826538 917456424 614874687 886028276 931688706 193459649 820765900 176278800 867795410 370563394 728427991 716038984 970919247 384263822 781623434 398755689 912147097 898030494 199912820 878501430 794421753 331592661 729692870 872129780 931548171 188083125 537184691 268038846 141501137 386454128 154945784 946877111 221439625 521678296 682394025 379896036 550411174 547027635 649300824 632492735 109325587 943079750 414263984 410193761 107882324 228121754 127604540 280616390 935771286 686176855 276038538 226896574 937723992 297672356 265806873 339147543 756334038 369497549 247273653 166430491 380718591 528329036 780879034 605970460 906414086 727407975 142218473 397620020 249696634 165754808 724592209 709339561 838522463 458605326 780301604 580339739 464968832 683551502 915023245 464546922 568193790 978924148 873208582 286539202 900148004 981857438 281037054 798953339 383253253 851775370 511572775 989281503 326736296 355293918 439959623 601284731 577212713 469641222 259765976 593357344 721259573 656617309 930808736 581040026 323090014 672267805 192254705 305659930 730436381 947439264 604867836 101976869 694169715 877178276 657355859 790210793 606089273 167287912 125217683 678375310 104140214 956673649 978794519 940247244 482767136 742918204 411835919 814291620 531705868 155296646 632749145 202401466 269685284 700786635 321009516 161538352 116535854 194889640 340212399 365323134 611123193 789229402 969359005 622267713 365504748 238723824 780621784 326818997 533849637 906309478 508739871 528956504 573994057 337383139 951473006 488392374 244810700 669763099 466581871 383201084 630724351 605803248 707356654 766996501 763624021 943141169 958082082 259908842 917821287 283142792 222912505 145963896 911749972 481740453 476570001 753035502 226447009 816545303 270879524 429368133 212560003 121759265 744776896 493614746 525401933 237324375 521851907 187400411 966346093 568862113 748254267 647528774 921213230 726860630 904769127 913501350 554231380 403352729 785347396 209970209 265666464 441346303 503173683 615987261 379970923 559442040 264407529 401988258 793111187 671034150 668482397 730830083 375263124 899917958 509514570 979035982 161349569 152172632 507674797 266640788 123626003 719365739 970668640 317530495 542483696 468502351 555991468 384439286 264667902 404179864 271804316 861370031 981899759 846024275 601131239 200474796 961991982 121352818 957706349 400932291 332328825 350949324 881661223 957596395 317852837 594450550 893239431 876313541 858753398 647943457 983866057 106563933 467926411 740284502 513300136 878059082 518344915 244878453 986483060 376503488 338386313 562351511 137368169 470417315 829708243 667207526 783318834 311674867 408086396 464081793 939931976 273991376 661652189 519996214 622446995 413267244 497900108 172861528 623061948 484017968 224140797 975722396 663588180 582473102 264474564 435636696 432606443 708398007 959148900 497727507 726552785 319901846 359276262 830101679 303497321 338462181 705035948 408439103 755931711 724357550 745311936 683623196 591231844 973925333 700286486 258743779 444691915 651146969 923439125 200332233 188392278 625006133 849033838 848663132 324917399 867083853 276097486 708349709 742381636 937647899 727933088 716231195 625459242 282613433 887508463 762746301 502607396 855056362 701867905 212152089 205859515 490757887 844621533 990545152 210437663 472381398 538825422 926404990 647041293 895262848 147110034 218650482 454324296 136540296 449006866 479225736 153917511 240169977 611489140 535576574 641002953 696757253 445120246 146983292 811828085 898203674 557270405 225715192 591468029 487485695 899698765 680746830 371441002 873291454 742427681 474931590 271068715 305928827 730517157 574021947 508953735 890728947 255770758 815398698 386385109 468069447 569092565 343731696 888791314 138795047 523929632 462117054 444112585 622756137 627219307 987478153 867795338 206512329 644708111 441271828 333075864 768498779 671456187 676110315 979666707 493623503 893341185 565385384 605628071 487266820 849033078 334164381 391018013 217077163 448715879 705538553 959612610 821048716 734008027 452176106 665609459 630903655 194055099 442783437 425760021 382070553 557399379 345303708 123173795 933796601 310229989 538085165 460450451 337036892 603166566 787988632 607594466 929706678 597970822 218030735 275977782 703110736 816864074 897306419 320197280 544380017 670304644 528140329 669409433 411741661 929599823 646908592 598516572 308192305 436364141 571876297 605816887 820499411 233053448 468061474 690437742 960960351 815395267 280196270 494938759 277869135 162719818 238189653 481945445 678845217 179345739 425117174 561564744 770067661 897215212 264672100 900560754 186117130 937027038 137683580 862652696 815722992 923600057 434838855 920876291 670591813 669544606 216964771 583332065 818725990 104274769 259543360 825140281 527658185 529440502 197939206 150344805 416579079 865655210 569058895 874645554 960868446 553631808 789273213 849100992 888331307 808506434 570355425 858293692 267364286 497296181 145676602 666400597 459774034 236180294 757024410 716153872 836514506 373002335 293351932 589820641 921715189 530283433 261979618 984204869 964946314 480670746 567306807 402386980 100708751 729554251 262430930 310208698 278163121 788800875 778230451 434784625 642824527 218545428 771772506 282974732 776834183 720109465 569794065 651576093 738467397 880112221 353450067 227340451 428162343 297100217 175446033 458296878 905116134 653580607 114855001 631287626 701664828 734790652 352139534 188898039 335034402 492253951 343652264 856971724 895163277 134636544 911897166 855067499 122069516 318317773 337278887 293165598 351366175 758294267 351812839 730651524 849455461 762343543 650091481 546371424 947648234 978976376 624207992 114169806 600352944 979637287 183653649 972560349 839727910 760944867 598938784 875873727 246032964 128910414 117909065 118553811 155743215 134108209 295749022 766367628 356183308 261903064 756026311 284300533 688431599 923273521 208650992 578692933 983312106 589279086 620940108 311107599 321593582 881122735 355982775 513631051 353716447 839403731 905101656 607062425 364812587 880955960 472919970 307650460 560174004 586135946 497512226 309267063 598385210 400295229 845509307 513066694 377911005 821336790 539852421 915931367 211218902 172748737 523238709 585678253 353439088 163251931 836284996 711054268 897829343 180415650 890427121 188430319 260317801 700020187 712458622 494259488 853746557 805994287 819453595 688778317 770763871 485965366 454570406 386663296 631309975 592459933 489894493 944829091 932381243 476826111 315007553 973988844 266068283 847382609 180808558 174509773 113349512 983220697 915498044 371145593 186063919 340820377 366636149 210252500 755754144 186992601 158251715 451690565 584847536 599711485 870648321 386249307 996833044 506767399 953235742 550905610 673256798 150332453 424387665 258986994 383129027 386360466 377502879 624278631 779392761 296564998 741115483 876118181 260684422 873814607 352430436 871835564 975163945 669470917 255869554 289749879 564434108 903488860 493070284 224428086 272098644 273024649 854087269 129123518 256116054 852430920 196617944 989381448 619651665 679146077 676377436 250056516 319850351 679856990 818486758 680224247 922538873 315444943 557350748 661846921 337020464 918882052 742962310 774346619 386642117 622325263 910152663 518033883 385385041 864858108 823556310 271135094 167279077 424463967 692100182 861533367 789535600 334002572 655898663 186167018 305895911 256757680 291505306 504827542 696998966 129497348 126987608 155537334 475319850 720297502 538645913 637207177 531060763 357307548 437186739 629115791 530997090 405988517 740123065 600210025 358054328 449702633 172592712 670378229 441057881 850404425 725947262 753200879 380302571 806675917 163365687 372022462 227414241 989213066 581328773 802655863 803180681 881479808 209431821 281184624 155996756 134402938 443374343 793567340 706083290 894805447 416937094 750644179 750032828 498815664 338495558 516274253 143433299 444534665 540425152 155809463 530867890 745456544 456555554 734966138 230628606 420506558 942729867 694320839 158752064 633791249 532177208 372946368 995121701 568995422 357085617 353851217 855718474 416118345 832792322 611623999 378594945 498534333 999922134 539938160 616214677 774167569 126886807 553068502 991437948 300230367 945822566 193862235 241404114 886054643 292763259 243430462 928597680 473602489 216054879 638426432 530185876 939022776 997006277 926467158 580581658 824575500 680743139 472212655 509590234 448686471 143007172 553425150 245430523 271383580 268029337 305102128 278818877 375294154 421443313 901608559 574360775 482123605 124051949 534480192 993223906 251704643 455624606 903780074 215162633 931063574 944588463 928169391 968575439 773215608 284849218 371745340 479486337 995445473 961069334 796289352 450141378 999229824 425000143 342955826 694227068 850794737 126093565 886811563 224229516 590918344 389481578 306515425 751496993 784618885 939322543 854211111 531032566 636867228 264637632 829062845 114163788 239866446 990325749 868180591 641400230 643516881 265491197 994430036 932031695 895784637 615861983 847287142 960918074 891560019 191879873 371734908 190565938 532272099 980599534 205693331 486310699 508463871 838700233 568725297 216968258 383940143 731984626 960116733 547469379 502473955 136190631 186711280 403255120 181830398 722337758 855257421 877408733 795722443 866231482 941912534 762893061 278587505 903897647 295246602 482655852 855079031 160008347 592542665 750463686 595745327 622887784 112236068 465715601 189611791 466409806 993019564 599649896 238848116 611668602 295260040 336338189 198225232 358998280 483923696 533031724 227284043 801220096 857828966 804519104 742300953 755700731 712782147 494012467 226006521 129002047 319348168 889004002 317369970 648959135 306466107 111213441 411227371 993485268 500421414 422782823 779336983 681795115 254680098 889616618 487580444 148575609 661166543 835044371 182385656 769662727 628328767 342147307 555933598 877634217 693672221 766161992 419564075 636693527 996878224 975058793 375470141 917529911 281189563 581806968 738726453 141294276 729085310 455881755 889991233 114535338 716170165 272784969 201246089 918614022 448920622 699709431 964016564 499190541 681525345 303715187 936294762 586224043 660661934 935354257 284440781 699264637 108174715 265039632 990078140 160630809 293739691 137723937 655292492 166249829 186293470 466479348 805945928 558838879 264321994 618974683 420496205 766948268 807028204 548279355 727078587 460214341 509547963 384293623 792339625 876715591 630409381 537091105 436490296 830639702 824769140 911817899 474947492 126836010 486176623 882123703 518862100 481233805 703909380 205980083 170557215 664769080 423259067 446084727 457143028 253103147 262516661 853573981 815634986 208082509 613513668 747760146 634814912 791391200 293218114 610819031 559386902 601121089 856064218 622312757 626956448 213487839 821140301 331511756 168512139 555342746 266664906 137890219 159875348 224795148 906296168 866299716 802672442 973686800 680701553 921147989 949930472 450535004 574495737 558336583 994403195 584949907 530492316 969392211 720063218 481141423 615950135 315431004 497666903 506808860 675855545 324024700 720340313 975851342 174634852 379963330 325731925 161088057 936385950 952027955 150068313 662880578 688538410 125208105 474298075 133023745 747245083 131029377 628971246 104160349 677074766 781860606 931524166 199945847 756639011 850324079 905697148 289952752 571884937 477285190 637606375 391936825 557319136 465469190 310910675 770512915 636485573 660261794 861758578 448149181 580594388 997262943 748198215 390664626 673689609 963579494 803157495 193080237 948243728 129299498 454524590 919530569 446530166 241897602 142150323 997311540 886835061 558159266 597057071 805263001 461635130 403152190 891293649 250420180 140272735 465119575 885014173 137543614 928340487 465114669 447008357 850426825 391037634 258340664 727677102 364852248 346652193 421730792 471271313 406664729 899277469 128244730 497916238 731875738 339911103 679319422 955171620 420378139 361602272 110964129 932298418 116552165 212246364 509519571 584944214 340283766 759052903 385200147 998455716 302596891 595419502 653408001 606876768 354848201 225567569 759861285 199940082 901319619 126229623 404870579 359364482 484289569 442424268 276520419 977494785 980101030 617735269 674675438 938627473 320061215 222647310 605869506 618941976 364042979 791552114 297956831 592721235 927729512 861772890 893555133 277238633 756327263 365726498 622612431 237995589 219340328 942491170 484174439 763478880 972702034 950849617 913559245 773837525 632142835 697101042 920755267 734697340 359225264 279180653 311022263 155916226 234990238 705034597 148794590 529588671 337432042 570397541 209199858 505954619 847280121 710527296 186932937 209594327 267056264 684178193 628359557 210225772 764212786 497035172 947263368 643832716 579391261 886670930 101862747 513370745 801901997 942078993 545974709 701027866 532261300 874267013 893612336 317196357 710894182 922899494 518726426 445880248 891540108 167639427 688477909 389846881 510966958 251425923 786981040 780947804 921032511 224897834 447608316 282941906 271901550 241570814 135667472 532207052 546674554 940847819 687233044 966802282 305443560 860842990 899975498 450062352 200130396 616261779 314624984 892202914 694249744 347626135 694689259 525497701 873859064 388686392 438495000 588746897 475884126 289984282 404240790 762815979 187802415 442066216 741936330 663632098 159423468 955406096 174579225 586682700 280184981 275018929 412214645 282863655 449486543 552323252 324509387 221787805 724056915 171729844 584122993 983358952 856350264 654501507 896063054 348400150 641682116 914313299 819958422 584380296 521556077 659256098 127907040 950805069 797700072 258531718 318428102 608635417 564125035 701617499 192307949 516200998 840254583 829839725 910887403 174615065 460816433 707276703 498209153 671952392 401618456 955086831 726980777 557520250 754756834 882242340 433890661 559485450 548563373 866742703 819685685 663194600 269442802 399430793 389850378 226067156 268059360 279054684 217403663 809283005 786666844 231229819 822879456 146095071 177960096 400864743 777507141 612066286 184873975 205023595 415821182 280857416 916681787 829540013 618047917 811399010 717454950 969556332 789978102 996178129 957241048 866262159 979849379 388108354 711083417 168228514 112912525 568860273 833408608 704529896 487202343 940307579 497728928 687719946 272778020 955954908 192377135 713479165 410539402 584349444 845858690 797239262 418787877 691816320 261196247 972925234 898481947 554461383 222158267 627488989 442688794 489625773 971740819 767458814 443575614 534834286 790371539 431388763 670622096 412594579 924010631 383214420 169633223 478181645 928667277 773689538 329027619 289726754 672484355 725524003 257616444 341187102 797268764 875220718 179862355 285543415 844042288 717052771 663239821 747985073 448268147 735651112 481622198 408210819 423234137 222448811 743101478 836563535 836005356 667206981 520419305 849704700 230183281 912130164 956906264 545597366 545645231 824247331 567774964 716086721 716434144 277413533 913074050 370988886 677698099 126514015 263160873 713131297 460496935 846495018 514640517 724388380 842980642 336320485 679528145 868363455 349436806 715909330 355089494 739217084 135975767 417864581 548623000 730264059 723478858 922040773 519722112 667034577 795721864 496567177 447245180 614102863 629642317 658705793 239224872 151559261 439344002 144820204 377755550 651034967 542169721 267302871 231205567 813467866 749661894 917051145 605882415 372314478 376160818 120620253 879445894 272119262 923896357 273108467 254431342 795298948 415146208 522247205 982055872 110962463 102316765 523965234 555483448 621165681 990178912 376449491 574409561 940637264 221180557 487071577 142033266 923257593 300478884 942745895 965412969 135837625 173129396 768720378 564675177 997197971 434319581 837080027 320247512 935823116 976753713 419203379 359210996 155720919 488201281 835963784 444563601 653095317 583757194 506184237 538190240 791208471 788743565 767120944 293428710 392478379 594565292 460829110 744599282 655508914 190582358 384814558 507577071 227166097 651841863 879029131 675789457 757618294 367469018 864594341 823849500 954554424 268286636 883452805 493252321 663624332 509769134 497441702 495420769 962031854 196038092 451027589 313512189 618577347 966891914 270729920 820177798 294137543 544576599 904144565 939658123 408282139 314143411 741113213 500180508 198287741 578989187 832811532 558156017 177276960 901140739 390116010 605555488 987676097 597381607 207211809 177140497 507043101 947607458 463284599 281400820 195838569 483943176 335273108 744068646 210147161 801202291 323828312 886976071 904559546 644237278 202150615 318808335 320121209 882435906 661647686 954082026 774188563 490982990 705086409 477382766 693802146 936011242 980190732 145462776 357318047 201118255 869451387 491411750 300276014 161591521 702261166 847429975 141568962 909433057 736169639 797485809 855411114 862081845 292905412 332829587 993517047 356808509 775785804 405597647 556621546 803285581 461558279 652056762 719991903 682311313 480394576 421221901 454812870 350185854 187372257 450810356 898623355 871896858 197377924 664958026 314321338 942646725 402314248 989014867 855661364 130684386 864055904 774608807 625661585 680834261 406078859 393782083 983078670 246068079 679356897 452553328 417642633 623218755 646121172 267282268 436927777 708401062 181528205 849477512 601791953 204811038 281227265 324282870 107536406 473238327 981134708 412486117 818354943 428294011 212701384 639092570 868157133 647953795 608229010 602232935 368517051 229045615 305994016 442265410 564038501 535965008 888537613 502365120 462248282 267108376 205301690 982802638 904996182 869450717 181457728 324106281 888281879 141675023 432242016 560484526 582885003 582524141 733169075 862080945 869454345 881117869 772337308 239485999 166912979 294583811 929229575 462041967 339676851 474760942 407404686 249532336 599777536 548438997 766908999 527178117 791958230 722962077 872782113 490986758 868843579 885751553 937919630 376224070 368341566 743453669 227002864 258811207 429977190 112932105 313825061 870156161 227333899 961295551 322087629 520343555 249491215 712336818 659765250 361307196 106310965 494444030 630667895 984296427 738863025 171937915 878395466 327005508 721332186 831590538 523646285 255631798 831579018 751351530 774698211 497424850 387677333 947234955 993190310 283492864 596924418 730187021 788432370 371525947 151057779 853113968 964510149 979004909 558148052 763734364 734979324 962175150 831619043 950110548 790446073 379471319 422740072 605472517 579318112 931791649 435331650 428334733 952435198 738209020 743781974 460851293 786743368 852153717 966662694 255163987 338343657 714449102 776237526 240093202 402023536 848235522 692441771 889826856 851711229 657439796 689084506 867478851 262729108 505071402 425415915 313631452 503113072 798236668 319287545 462811781 291771647 553704696 134291526 976171940 892863797 139764364 287225611 554582037 515693405 343413396 375124008 130868512 474505672 361211467 516335754 883153464 896986959 327681828 824963353 338707430 782693754 114601200 548768083 698349748 917423014 732229347 931445144 211391668 286347502 499951695 683214442 812607983 575097989 824079241 385046670 856666998 192046407 246568876 715037442 491144773 577401848 748022608 272443589 142301024 804659304 586237814 474018202 219723956 478821714 725077935 805343226 379363999 436956773 111551877 778254381 454024086 189818703 231951075 905505762 564417854 867364466 198533397 671763153 401242970 999612584 132135344 333805892 359263845 601120358 855341765 355204019 968150887 338662807 847443002 626437169 604284385 717525481 841719939 462304871 824705210 303145441 576076464 247444998 990793466 114482805 908254845 587476580 843804187 506749949 790852503 516661387 485741856 301814000 974490206 517548937 452242680 701078520 433681143 368070161 109466592 173531884 465397764 538709954 840881511 287000318 595988303 341113396 693435872 395333237 435160463 143241843 430811281 239969254 409879127 203638147 937384667 838315518 144492924 237304523 511147354 804985260 546288308 828121481 414392695 489423215 632474462 592312077 713937547 918378167 943612290 356670995 739103285 838183944 896182471 723200878 877153972 503087229 547344768 857698662 978746014 411272528 743295122 290114225 696096404 340879571 552766968 858002813 894753660 855388419 912122438 375735569 999984581 580047920 109127038 452330356 715415049 853736122 435447770 240221910 673947718 123549973 728413361 259737562 228125202 571732843 418478802 475002356 426757145 728256340 610436716 825789617 765496345 425719037 112549206 166256263 772082909 153335338 370564759 781426149 162113155 841857053 362081497 944390977 424922294 424396769 630071617 606236006 719719672 920149132 498288156 328809064 797980606 309060960 520367529 252434390 431809812 931124994 267735358 164864790 866978720 934164787 644925015 625756015 351073836 886718853 226839748 204363262 251084976 633593123 767587422 997265895 341987698 701173183 389364152 157346114 944871972 668835849 801954212 774166330 321347361 311574737 684725603 267198785 188507408 208603827 255324918 325688771 684199759 656439187 311704397 681757973 468210400 523255943 394564087 356094422 865812164 528967793 661911857 366273936 733610323 437697538 533688242 344134457 834730464 900438959 991979784 133616118 934077608 512630613 948565265 266551285 243685475 632612778 789681244 640742489 330871570 724980519 661022491 507927623 797764588 918172073 170327433 578261470 691803106 922107446 312170421 945793080 557046172 644449230 982610923 850200384 554350561 829445679 875402396 714120744 651566033 284028115 775708680 775958662 415034764 804829843 566007471 187482421 172032924 271870858 789007151 293196405 948135144 553653842 582409310 903034703 854872957 393714335 288056520 841298367 461431123 949695999 853444139 194811836 114505614 264314434 484775857 907494257 252614747 135699691 673886305 784929103 111108047 931174046 903345420 113452464 376813271 996414053 413902489 557380341 117439004 514430501 769021273 882686524 122749946 122697305 679305607 236147946 788049760 755346736 904892658 774378627 560221067 411471630 931030685 962386540 168642016 818728751 906506354 610718129 538752960 463967743 438847020 236767764 784876427 391722687 773941501 969408925 784292634 687591004 804416985 766559177 923755437 775090050 417334617 134417217 790562525 247646055 744317650 384206294 585343910 361465012 708925647 132278148 469542091 516569174 878074096 780721408 716471308 715997429 139034147 309947103 505577748 633001932 373515143 327127134 989608032 766229106 719621297 710607350 405070248 807385846 832627945 277036987 351955448 594252802 703261651 217592745 721774746 659103101 434245875 554320959 505187679 238340651 821744384 256740564 902189548 495045221 957710539 905409432 364468835 223368355 487591132 343102697 404126895 182968866 761524971 727072833 285478664 199824702 295338992 898484448 612838374 970275810 659690287 976826466 803109657 910705341 452624152 697300159 859140076 230847318 622502481 958513570 795660047 524050567 940085575 957697862 295055086 673625376 332480009 862774316 266755597 430610866 794723723 653095849 605484017 840550307 702417401 658417346 352489875 228986191 971864391 184112824 736002578 691458205 260677981 324384681 368579255 686876202 767419699 903743062 244667441 769411575 406459089 940934626 475220148 373921509 919342672 380370990 641484588 578668800 379578820 438651195 148688153 921201954 438291291 337319409 259442346 254726175 487628941 721050716 798030144 526555618 162670166 366800870 785917477 122528556 441877556 556783698 568915749 744107051 339684630 780194879 545374410 952328206 414919349 503754446 149692432 745923973 111706404 130304960 753402617 406810708 104462608 407975424 124465129 645144774 824234874 535697955 442052926 995901605 420547076 725151540 908824382 901214111 614639484 896382158 113192915 712868702 584322746 166734244 606332336 873162617 670436309 704560556 344035853 209919911 922455540 395223033 298382218 316908260 301203359 171391939 385883122 974845306 235618585 681999567 356394977 934722998 545417005 452639061 733216678 446046164 556444597 295210848 717407712 774698998 486106064 162837306 490563265 170937361 369252054 247187848 932696827 842714320 411077301 524986216 702444282 500353590 840203657 774719617 310465451 744835695 931044861 407191362 370180708 859723133 880331576 191440125 361611340 585904832 683253288 890925872 597183361 485377811 603130369 639849750 742485035 627397672 727845779 834261234 444855793 406630470 296829255 366781123 500101662 823845259 808227424 293764467 670011150 623251505 177872071 464757830 199022321 658227119 868834373 527423381 337575103 240746280 725314704 839076634 290745416 362031106 521285278 499558148 860592527 556512847 212036467 420586918 977060167 932925342 656909742 319320621 830143938 941795771 248830775 663661920 967539121 878752402 915757395 745583415 174191585 767203889 377552811 123445653 150945758 893956805 123878394 727172962 528341950 418986001 449836074 415095486 760253758 605864440 873876956 826573121 389042847 158560262 489760091 573562713 769882793 184314300 907347589 319216232 832928120 668140160 475922751 779147415 643783594 683727054 556997191 467109823 941429308 279565626 738921862 811139817 830183396 322378798 297645132 740662892 285750425 942002113 970917605 681087849 748466946 885916680 940498174 464707833 329078376 189140007 636445929 695405641 822916803 241411615 574570546 375768478 872453408 543749221 375518598 713090462 466902403 234856527 531387603 107812062 757035697 332996638 281345340 585414268 795825794 727760186 239058879 798441357 786744253 138807633 788658812 574125506 220983334 791022256 534071730 466513861 390616311 387324520 887873725 562201967 846797968 399707742 816850695 481117222 655114353 171951136 864307347 670734450 779712013 489655547 650699316 128963542 482205077 742553786 943090531 679404009 295255556 367910172 728707743 744854258 578201845 485675574 729057959 715196084 978668823 523584017 459217801 599358838 165249611 104750190 705469778 832039686 907526294 639635580 295477052 229736985 612379302 883464320 201433018 606911168 173234158 708024316 411181734 854799389 767396848 548432446 157427117 901734207 663684112 854962736 500012131 540976066 504485970 205048893 806811652 393874298 677192163 494174022 925951777 199322945 758697076 611705903 608678494 230273700 535803603 581880348 978909869 706005059 155544625 941250600 361471852 648735693 494725994 860929149 947634714 194355484 307334236 810272562 227777743 333891809 294792309 517383398 201300802 608448238 832113944 404182892 298781128 665965525 273123380 608544105 303069925 912582210 838952811 241501568 750601995 488878148 926807484 237028039 143778093 590096618 408653761 663373421 884676586 462789099 255458372 721382853 993114278 196554787 815227839 557326278 976278014 512302008 842545390 450483565 617428232 704492008 274175949 791154145 329577717 536176194 123687643 826171979 593486922 171436679 650883663 702791936 436852930 368941389 291414564 873695234 971345946 798257598 818306462 898757831 657740912 994436002 329029973 716895212 133453243 225127972 804938760 669145764 359637616 408700365 362839889 525722529 589588148 221555493 456092627 164655707 207521976 210812389 892153120 335305026 117091529 601567831 201985334 914982771 874827989 800367731 873827105 645669035 656198116 410831491 586128944 290759248 318300479 774919528 417359381 577437181 951419924 222185780 216354963 414205533 175537301 837722228 382367844 976899660 524110962 481731091 162541910 704016780 395857252 181652793 278606825 131609808 642269645 617471340 789422918 226413101 361915562 726082644 820549416 505403315 893466637 502017922 871272238 604076262 274855959 914558765 662894794 359973314 955626313 483965384 794799903 343310711 367499361 577985409 448328259 515215346 345228077 822407521 687292761 893123811 347883100 791367732 446299043 699827953 947049758 831615853 595026702 638493420 482441322 978587468 219769313 949388135 676624950 180719370 291483526 355368632 475219357 465652415 753387863 961224425 106556805 474380417 527676843 846448830 113531463 944101248 471401532 173300166 712831667 812442071 417738655 441462133 244142439 641075769 159353238 939720889 745620721 444870479 844906641 364598492 423040275 373388645 790115967 638580051 887369799 301693439 698440100 546405353 190759229 414950009 479048378 301013128 846579450 379057125 254145800 684226195 862019107 860362567 884323785 239204099 372484463 389342290 621961130 713796016 121696531 973615384 442061243 941113638 935105316 950980254 913410516 496046622 807208988 654907282 685538622 653110721 234225346 240104017 493192586 685343470 802699636 155418422 507471264 729267565 768990851 726671614 774603473 310970623 514887851 764951829 617435225 749649717 134397773 866099053 709579618 561724604 353951501 562073804 449167110 823413152 474405958 244469440 180360714 105982060 329982750 637580445 368517439 348771898 826124386 926357187 895263639 457105954 253037752 415144608 541616982 841940874 874814989 637504398 131266996 760801375 375562043 772837456 639878157 641497208 427370903 655647803 730881272 563077989 835365164 168244537 685626864 347881913 167032951 387887181 897405753 777747628 471630729 387071743 737450728 912073435 626038529 849646082 439162893 374507375 773859012 479501261 904731888 297254609 737918476 975045963 849850973 834300367 324339824 776052335 300919956 704287008 858741407 662154601 435293111 195636182 437213065 634287558 621460493 737374836 523649512 678623409 514711400 966881438 191245743 734208232 126653350 643094382 806429425 968825809 765894681 567183217 121155742 637525352 201504611 710384313 947913808 232157959 767823293 275719245 476444702 470535450 573905598 389065466 395865740 282968852 103085779 167285485 170263123 498547480 568495521 846727180 112802402 843695719 879409813 841555785 533405851 477147549 432496772 132672675 163720352 458220826 460183544 287071768 197252864 874990618 965756603 285904122 167487397 950858496 115240766 873923004 514007538 460716870 994548776 129905500 991566783 588740870 306223381 932753657 932754436 274393810 843267893 593382597 456318243 407668351 996793385 852261601 738863105 370877513 338266227 639397805 156648460 648247229 613365091 896517717 179898592 524993073 718045699 413298072 945832806 765090308 985644294 863280700 220434478 470435525 812572161 250830907 136898133 298210208 861301135 823738847 573421326 970722436 509262810 802966902 319991037 342970406 719524189 476176989 713598496 373574573 459328548 388133887 826217954 234888094 797365001 544660855 683095071 725445137 873543894 371863470 460908082 439910659 430790072 469177212 334897456 599852130 696249460 494271082 492073237 252464789 805565396 468776109 792653247 647910516 645674064 586413050 907077122 578802732 945958153 331419824 459292141 462092672 379911476 105548111 808439909 836140129 678742684 566430816 217211056 633229630 511984518 791719473 953349229 785543154 807583778 587947406 735549319 762733066 382565775 137324510 105103787 573528046 894419459 192721202 706245053 789093956 282611304 937862850 454741636 172035868 603972386 925246431 444279588 365878595 228162966 279852044 216301976 212380158 372190059 125985006 516063489 204479759 835517693 163393771 547493641 851999492 968505295 220044275 278467299 218549162 548387435 477950974 919045207 130032532 548350391 875022031 318638854 679007650 198198889 572256506 246581244 542483031 120196169 569129918 335224557 409625229 722269688 921942508 380803088 575516545 651443861 367232994 460598654 270050835 748794983 689491982 388325433 688874556 412849375 767349426 408032545 927612217 723814001 329901647 310837940 942725463 289216606 402284048 676259466 444240975 225066809 926365680 856742664 230601294 524418012 283144375 645189898 291755057 238105933 589465029 684874270 981814447 664002644 699160123 735443774 919253575 349299301 908279392 524892229 962853517 879428562 186920945 714103068 462594051 803260365 743414023 141192296 169923747 725158174 693967771 358132576 514225391 685056177 396732430 644592741 837447881 389346621 484677102 128080517 509220774 689854846 817309578 265254741 268211632 946345568 504089381 604916109 522997882 143960571 754590039 726393420 606238941 132316570 841385494 632300414 605548722 597967362 604448496 877882717 201751570 149277749 385599317 635078637 547971202 719770626 401543673 220170377 385036367 726432442 409113493 934501566 545327962 172843186 740194118 680915456 101329263 840550763 992359876 625760070 120280668 347971650 989266896 291109903 879026045 174130942 187987190 499181772 497415052 747056438 262694184 479381677 769655894 896632824 947057535 107626257 377202513 911286745 193057181 476086418 596249873 907875472 592690830 886419927 865442523 845365122 934705655 470367057 874629098 437432173 991283588 153801460 947088573 993993611 976371634 257110229 931424863 320885288 216536601 856932607 710601531 471996482 296302782 954585487 101862266 550703880 626725425 151211033 102072008 554591164 428338899 765319185 855224697 533353621 198664768 574109796 268758669 664106594 652398104 512673029 891173343 529589440 925336789 265547450 866700260 700426004 143968747 780158359 568213691 911441782 843142939 800275214 620997363 804757471 909725568 415049365 391802933 153091412 288705546 361876168 657181270 721307175 566141924 501016751 962826197 414423877 472621905 673453533 198378248 188100796 504095857 147627325 715415417 123944227 233034859 235847126 296687787 481338375 869876215 725392047 110911855 424526436 129933567 581188789 946808309 975926873 408862067 578904562 878009954 813814232 696506878 593307246 636388734 889869294 981557793 528057211 312856785 386993936 141858702 437028796 863985545 772266859 172788749 162280471 226866615 514948376 286282310 244321278 149633715 750418385 166510097 463881535 545832471 244089784 516769692 464403503 874070799 266125477 159738463 459524950 374559837 128793714 715757492 212248864 952594743 951135570 901954577 802271230 794926532 465078230 740946691 792104290 412391168 469785928 449886742 541762334 487057062 793190585 444477410 326280012 302394999 566958003 251886474 497635530 738959983 173944459 378572495 974660431 315269203 399605401 769891529 746181963 517217594 899114453 503749855 199484724 342346613 884682257 651475019 146177949 161698802 147510604 348618553 730901176 102911632 675340201 670623402 957010780 774551433 755080708 653282478 306693770 720197444 425429742 187547648 321280346 906511443 635699817 858940191 996873259 316997307 484397937 697069343 832246623 121422603 799184999 664858269 589330414 184258945 840355637 106800687 203770228 335591016 777459296 347459220 942714712 158984962 758034655 578228641 854653560 957768349 121549288 459193077 592575165 869237750 235598747 489897804 844688195 782518818 155481458 212026637 855108997 882520895 862850750 432095125 315249076 978831809 485583690 257460491 570264094 779558217 323529049 931512638 697353616 333857259 376304000 145344420 345263059 190746008 952308145 411560650 422327939 547372411 443425383 391308824 949212523 141980528 718334294 209593445 422935545 874641548 607985950 110545949 924394498 669401236 576634497 633557223 725430031 103239314 384247164 340115481 382955056 788633077 567692361 547779419 857993774 361293973 536101623 170710149 894300402 365669824 256828733 333323440 360709942 264886613 445371696 498311608 806447288 318607533 401169402 573147367 182007906 459666911 600922161 746563723 863200223 717062951 193219546 812673796 946756842 515951101 711659800 721124376 316964764 696176040 938736762 657520969 926923595 933743187 864254997 896368897 132064731 642414959 695835273 337103374 289921372 150893070 604098003 555471999 400881161 741915536 746686274 175039529 394878284 663759886 839546211 288348829 781432291 978920221 272461985 767157077 690043097 881190314 596168115 182199719 306497221 799640255 363352924 327293384 447907653 655727506 643127350 664249131 666245821 623991023 304137169 419678532 864198414 226235026 325247066 736507031 379775819 646191609 552382383 836796843 930097320 653280220 745228709 734246246 633757638 884447380 804670283 138913660 409281399 642247953 325159483 580354372 586012619 471626687 427457366 768365422 101322752 916035285 387431471 551374564 276170493 718389539 409035692 290432929 647276671 789425940 953805155 289564634 483970615 980958199 914634272 516579853 810395936 955742846 831257674 900173995 309727749 241458279 103180570 256871120 439184586 395669934 929146723 707625431 165021138 530587735 874044959 294062045 379423401 724645056 828281490 120692388 929000403 904848786 629972972 379720560 464289584 450310266 941271940 936245812 301006321 464285718 291433322 736065421 186511071 242148923 100072378 830856621 378633466 144296977 270718196 609050187 345544913 475456674 879345952 838706408 393412623 294252054 298860768 738999527 277406171 640884635 515948474 126111656 505321903 455425539 964382953 338940440 640300493 618133354 697535249 940555508 515468893 375515636 948496908 698519436 367071987 978491912 191901878 749715486 189666705 212171790 875295486 324450471 180627919 160999213 235706495 753064499 936599779 327442834 632328718 857139554 344614696 490950954 979851734 400938164 144337530 618259400 266006993 349726371 967748063 822858620 963899394 511854433 949769599 259725890 619626483 895576090 906797885 336804964 490961205 709637680 481573736 148121964 832497148 758740881 467280673 879031954 877816346 558512297 531608145 790497340 417847106 190625185 508554800 503856387 149167066 850192386 146670004 370543342 670657093 115059630 640295047 387690428 468790070 446268702 750067147 280918535 623825039 470677030 551454904 262967683 321761959 711844340 264964249 581181876 857694396 982757436 541882535 187230958 594817752 677746693 456737709 653757583 451454750 398480107 701384845 206440067 179867285 678480300 776116067 225471687 710209347 899103884 540431979 213959745 536837376 783898388 629802336 952474424 514387222 650188456 200917639 152075660 837832693 862517997 726106214 378151966 903762206 975881418 423005874 252106215 705421537 513706781 626811473 225410145 780606743 237411361 364803599 916298024 839652616 887792931 974417263 561150178 693799021 464061141 824900204 351368828 168641190 366151012 399811491 926395542 367300432 374365820 639754237 494913843 768428649 487364417 305404787 705068049 848971288 129330540 194601075 281823960 935855916 747757577 595034166 948977358 316398857 218803492 471158474 844958558 541226489 143360649 560358750 775216012 294649617 277809576 778546510 285908733 927345670 603364918 190527718 435726469 846258792 122612494 671194727 371178712 228585534 514229217 545011649 702540728 266104157 509268790 461138513 451394166 646814878 750414352 229213053 364429861 390080782 778352796 318716868 801604035 915581132 730365314 464321518 796272104 170426553 594573949 140833554 139995487 761043979 135274110 196843069 888480022 422884519 485155036 451645766 954864257 226670659 253533811 963374276 908542429 769259714 511250404 290881291 716465097 240877019 541919713 231092449 713841849 475695346 930306949 277112220 118001106 304939627 296909230 957926847 297519218 164061284 897066158 111645608 796819114 958330813 952511518 377801279 539151893 361423835 544110537 625385201 163669673 728316608 306504465 233490414 292936756 298416836 352046062 537654996 245921190 428612538 240951413 691994806 828116060 156307772 918448322 398539213 858834608 835692107 435541429 489037418 337183928 739929344 537997062 523919072 778348120 476565562 324123075 746826367 699645786 938242106 693210789 155623493 603167111 521333017 503345717 483446626 969473883 227556681 393441729 501219400 190311177 686778039 787592784 631182992 948463378 675361250 977367167 153860630 774079513 100868129 466937187 967587298 921751599 494390480 655850927 982022163 312739334 543544937 364015958 312502765 897269322 671886186 539072522 151034223 178979555 800973649 710643712 270366285 954003546 710067678 369742690 557901083 392735736 915084344 622308858 841785359 695751510 763747591 211362990 856245669 894685596 473361974 676856164 851735860 150323984 908688843 614495892 521942332 407337116 826377202 298806393 434678030 561221854 732065254 431713224 322804785 780107179 430541691 941721052 580221891 500808249 707348062 492544629 605894439 185193669 790561152 186785117 340802839 355929901 872511864 377749939 520162146 775987039 450798373 279242191 890681580 645278286 690415608 999553812 391551635 870240437 287134186 686972663 101297657 553049159 272467667 467023940 975489040 863187168 650340467 934946942 377722588 185630417 396703716 890680767 384249491 657583874 588270158 347471764 267361944 445448768 641808737 575097354 202014298 549572612 583927990 179170681 248422602 472564262 226436591 247119580 417406253 655483511 427665048 954128985 613224143 155508928 103310284 269989855 106320524 432366751 869677558 664019984 576656458 747110355 611496021 967697708 482871878 494008416 206576529 526690774 621453885 412231032 939465548 737803128 771954920 460559509 612907639 589828314 402379228 488287140 365863731 202623821 398907427 838859617 433182013 537790948 266830740 580893773 805127547 254146912 956906508 533977846 953306987 926038969 995636475 635687504 288996590 617365267 430588178 211129350 815403253 983917651 791657593 435594079 331418542 241333749 190577846 721741716 726340904 131515127 134957372 839600130 839233641 460720699 484063331 162275999 398944150 385796414 646984581 517257365 134271569 400495921 840459259 778672607 748734361 392873060 621409238 569687647 121803100 516830172 850789683 308843694 578748092 492631746 203218023 512849803 650544265 825890848 685735376 388847326 111930247 302504105 838029488 235724640 307353194 467965079 708218152 990649407 778426932 451093267 553454913 475519209 485548420 690271104 958987372 230715963 554008125 162379608 570082530 254476795 889770174 193655536 762317648 804710602 449157532 992504833 239533908 563532838 606254389 931121253 614160055 548435969 947615250 665976996 816087969 897689982 822740603 198378201 260097948 761643114 860781991 938209211 497726370 265537644 700095880 360592017 899505062 635880112 652435093 161725442 549231487 621449421 855616515 968996872 192090883 331544732 947504890 223612071 158038957 624863465 631195427 882553726 927390955 465991732 346465766 913196168 877584170 807221897 273088886 124304567 733359659 185578639 536105650 733717371 920544348 835050545 848876799 138335170 543912583 166168904 650901680 162549992 932322925 511504491 184412701 280827084 180674315 150986357 773388109 758140342 232269340 863763067 402909832 892981421 170625271 407946486 885803648 144205160 920606002 278613950 582941190 102115087 250374446 113823703 614362915 730197572 939881091 995349183 988605750 848590208 179854763 839226319 642507497 315685402 683214869 635788545 893167702 843413170 907250183 381218926 410520311 260112162 392182193 426573761 376540642 765199301 494387876 653341283 345860638 479049439 299025970 676970916 563389526 645718996 574241268 213091513 211136235 617543342 975415132 629296444 723631651 103863882 318810108 771546873 645612820 900445534 172466561 827351471 793102527 673617696 714214365 528813271 709963192 962837288 257260752 439805888 239443356 156156785 826218514 452658038 152895141 945887335 388452207 331167556 529673934 241737015 581794234 591566196 637178968 582585363 299251897 166125215 201300364 390127225 780161769 614184772 395188529 243045401 766536978 730982761 606285982 472085721 789885062 280390485 926162716 531391139 338472552 626208065 795464848 260290564 101369127 971301197 470931732 284423569 270927949 390873783 876394172 748625711 113222833 882164437 965513206 613495756 692977085 606932416 951805121 810276240 348445252 663324982 666416059 898464116 203384267 425397268 584324165 375535550 941946311 759657108 571089330 516005937 364440488 939164247 954434800 882639598 817015247 854565189 531681151 553424807 245073885 900354837 980836475 987790174 894303308 277523773 506611349 172668597 928922919 941739901 570352356 358112801 492720412 276587767 412434780 820393956 887145871 587459033 437339824 261152969 812730599 777603774 917699724 175013688 376367457 618299220 705553477 688052033 276948367 881630408 147613213 633327446 267072645 838020632 431266848 611686400 951516146 217947540 754260033 470955383 483506541 309868051 809716903 910275715 300135512 789835031 897702587 509775717 169496904 100094629 491066796 662128512 250661528 471687755 268072095 765843961 305781689 594881967 227462892 430485734 116694156 973170018 986068114 447748231 242859010 859680288 750738066 267492236 497047652 978721103 152156176 757921861 205676328 570499746 173675804 997943412 347627152 782322041 276830684 500671633 842052084 299041190 834435675 267745225 419023827 357611000 371616644 702469604 905892910 799282770 410858592 646029666 807871107 620110331 929247727 292081318 364897425 365533203 501045138 211230372 350142707 653750321 398683518 720143973 437561194 355643559 819978326 278185289 849856230 384541422 594571942 173876533 598696347 753595356 965400272 101309285 335208903 122382572 853575910 536688504 753398150 477644555 711200182 905089781 618232925 216096383 621539355 655735117 412159426 583757326 659237084 176920888 386849938 143703513 562732689 709071336 526032575 570167748 662742117 999429140 821191847 970916110 682929781 720703709 888828163 626979523 962206927 634609659 358905131 183407593 605416685 848520073 783668054 710231140 555399258 718929139 459043371 764120628 476802261 176718624 802725517 918948777 819194720 928687725 346581129 970671902 393959344 924951289 458801261 653725801 923472116 339162909 853494118 699840437 844047555 458175462 194860346 251232364 982679408 541411409 658130975 702506239 335040595 641482062 639049633 328824802 448409829 194985144 411369588 155108609 249375055 409621537 474457487 766255771 887170193 798889249 188889955 395682092 523434051 965648930 841476656 171451242 498953990 892986295 505262481 703995415 114743500 183469787 753643100 555854296 417258747 529391166 620687446 717560944 702442951 617063205 887474544 387402477 761741638 489152933 914965797 981958055 209541956 127495816 891757527 367228637 243829336 770493039 679074826 151630629 662632448 658243229 918592914 428964789 668458560 826684388 308412195 919974996 438608465 823236814 311456302 274418778 790665824 126481709 827125303 404107972 545585504 956004967 573793694 682287837 824548192 847905843 352680935 923506658 280037458 267704112 972083302 708406724 566534141 398484310 158154391 449206535 558064516 463655756 659154226 994889417 283390084 111776204 897057576 571989253 627786342 507450087 430783322 825922552 493186344 643552075 666880814 270929937 574169622 971917118 812396265 498767007 723685403 255950360 176948998 796554641 230540352 559413768 851996512 394267390 959609463 814749210 221858285 337267594 125044816 708596191 610611725 175146960 544222384 538851195 341353400 431337501 978087987 840755211 115034994 985818578 722667155 184336291 981772942 584140217 779208353 858433593 107621822 116491929 675871334 696521202 356590034 347242940 587014003 307051886 169387163 167146304 837843725 402986313 236345899 923933078 420972685 648028019 918534666 460287324 368015437 214712826 637119536 174122204 857936042 381004433 165623085 702944633 171609915 383254717 230986290 652261158 542723452 233112045 675749867 945681253 459565119 803342732 842082254 397217329 366910933 108460147 763747505 515764800 899771812 672944773 917224560 779976220 320189871 788528528 159253939 103238395 543363932 398600451 917650157 160924987 510658921 117638845 318051738 776414687 326904887 673978037 579513266 524319234 334874350 601267225 192576344 295293885 115322106 355803605 958483131 498951916 519158243 560858401 932407042 392495149 347651917 871767328 150650410 864123924 162823424 647246322 780866647 881007150 699770598 254011077 435551142 339842358 955080450 294691625 866040171 151590938 879056290 667482841 393405342 478852885 315967442 765367801 116605745 424677417 669608209 932442717 353602532 169569660 760465260 616982953 715259448 266079229 710349295 971846689 806095655 298630662 342463260 251300330 985103630 813140126 835053533 581745254 251663938 321101579 864551651 878378586 148667440 306691204 298232447 124500636 144039572 629695412 938168874 626099553 470654029 377338433 886307865 225905273 719263341 734099602 322719350 259651355 919975603 695079316 433044789 392960193 788848245 367413801 234048494 595113303 465579529 389675471 966589548 948942993 126618984 309566407 297010412 617331224 770288157 530531483 190786377 981666942 271272248 322770037 879710930 634778386 348839523 200770661 968029868 547204722 139502018 639139111 654790846 730359460 266119436 337957397 136971567 934694335 925237898 910555771 425736317 954604172 192038004 841931354 646278390 207757753 655502837 315030815 941816174 239557805 473404846 775384284 414087705 489844413 577989396 372141114 470665302 671151328 876430996 875541987 243293178 877908636 950134673 106203965 703256455 410081475 323879696 383509783 354866924 704061022 157398303 986484191 517318307 137487989 804787309 409239777 176861908 387162553 143487743 494063918 318410773 965103838 284850277 228962245 481092144 891801580 862992122 774562342 234837210 935721821 950587619 451046442 128674153 963886333 215252512 365970330 669259207 608708425 329846276 899306729 961992657 113796211 675788372 619555654 946707198 514944100 144688776 887603306 743610413 947301812 866111210 506324309 315842243 202187427 542162884 866073909 147632186 405902406 715995998 438217065 498162352 863228570 372288977 415678620 843533587 104724573 678723349 215454980 873308017 717930133 902956124 729176271 747264724 801013816 375549506 987371956 575910092 629276720 221603133 597254606 314341157 132138847 606123795 686673295 464261255 502499111 240971654 331875308 434085562 239462881 162860020 887927315 432879215 480468100 928916099 489569484 218284034 335131568 920107327 135158307 250497941 131695664 193919137 337060038 978399515 511231934 120847112 157949063 569466333 266670509 718389717 416941281 696672512 734698875 749446539 264358908 873242363 527867194 752409200 985738522 790534242 848380108 932345969 199752536 695019211 947691679 262657602 886175250 312947015 851859829 525463532 588606557 802212466 366898212 784541420 831140534 633884905 599550955 665550028 111159240 144742862 533829171 302468461 911151683 992720633 642306105 702614154 452882301 589008044 538131515 982562911 530246534 877345499 883439656 711008512 868591985 203081720 805159887 516237753 587260053 912699890 712585987 880218193 458423104 302135409 702486466 717369746 213178541 843689219 303411805 355178671 394828286 543438025 786539711 705282315 362919841 100921774 750673923 681798377 739334903 112547048 972557510 680925676 464400966 221468054 893382297 369620838 340405771 659223536 745561519 847065879 693593687 121197454 586894123 751516605 718706305 918860028 859815772 937654167 128252843 339461755 307020571 806873908 847380228 893843707 317202185 824242706 315323683 926537657 933579312 742217951 882428865 205308796 860917297 525836310 952152378 724078046 432806427 905721159 570577567 669398142 873388095 640013656 650710251 315031430 457810607 961309901 540555115 716141979 237076197 377249201 665150951 861914151 538067731 665225099 681098949 702928863 881016268 912284802 419038690 472586630 632892545 304768613 162298794 743376410 294488921 489914084 934044278 394842974 530355234 264179894 525490505 194813465 892800282 829728590 519010487 672729911 363547736 435057403 384173509 733245903 272644203 242319722 122132163 638938968 552355667 329534193 217493322 846896549 399058021 821599176 617273753 113218715 753864045 371537508 920794714 797548680 100284470 465411419 448547688 363397821 732673808 537106830 698250527 204645086 287958965 897110609 606831328 501675622 694732103 183676251 754750623 863864992 376756188 861564289 149481328 284028704 863845503 436386719 994619323 168649558 937171233 492460834 856471861 512886812 309033977 706213587 874807646 508092821 593442995 886632235 973175175 466313771 685793077 604998035 869174893 748727902 338056067 244330318 352991340 273340631 759033582 287921610 873331267 805822431 213887934 894500755 150949751 989564569 838147477 871790305 631538336 682342517 974918295 821775023 734814433 728393454 886731542 735706444 539508225 755864091 766207358 924262662 372880309 641198010 973649945 207926651 331231546 717302888 570858058 137048869 379641700 943969352 238858260 164789279 674482269 604412605 400679090 444011757 522855639 370180463 599781918 909931199 803442175 427033038 845312934 344917320 832326607 836647536 738799052 551513281 508022717 829370806 516256681 519434207 465609014 940350516 286229827 320815718 635778898 731561405 343234041 996912018 677888125 132452597 420299574 822902207 270982584 822582769 255361839 542121800 884141874 836270330 521739971 511417224 244893159 908463627 109252691 859289843 620599802 160295224 558053574 131817981 374222733 700100947 939612830 854792271 812961548 745022123 415546935 373476144 889288835 412254826 106765537 941392310 910619537 143765103 668307050 829262496 796479243 115296241 408505329 761816510 622886846 765270194 368799269 867416402 809402111 728652361 883185387 493817728 161498199 592400202 170217985 475432006 490691022 818680366 154666389 836231379 821798527 908164501 397420706 426982601 478229436 386162687 269623635 693758951 895474967 373904489 539713583 944058195 860838272 265588176 126455064 800065206 582547749 347247444 240964549 555637390 588215453 753664066 259284868 677395453 937837865 260856344 949366102 629751903 708188709 216565483 258230170 903499139 610842443 452010702 440307358 662789009 866137388 917472506 794752708 190346057 803365742 937635250 871224122 271590945 390899287 194606607 456203228 395498587 132531889 479068233 367559302 796911207 697811263 105594345 655249162 680143286 148163577 750313446 121919995 919218601 360785473 808758739 949637241 173947988 724349951 845704701 526465264 148213283 983199675 144893076 812146712 247883172 999179874 722651739 487759633 389224337 814820115 318624780 123215646 599365033 441996883 875860862 685169121 498728566 934264738 200870743 825890703 840766212 624707525 223950551 776236690 812056690 375856773 285463300 846083870 189193844 504849153 448625208 912868437 299940393 830736385 290148939 998005134 565381402 635720426 170026933 396681052 847535575 969980095 954775727 101914538 541678649 902373069 695451489 803815288 422712744 721308297 650023997 546683545 703127079 190936312 710200145 497627460 501061657 460693925 195393906 595038131 624741953 924287710 358545194 491661341 771638786 329695010 536557898 981627181 925113510 693961006 577222606 773624732 196608807 743510231 607534611 896029675 515372333 622873926 123039958 625985516 582036816 242942201 950622759 846310158 251769579 301541848 561651805 131824415 201737971 382753964 202928861 112512819 195558141 799409470 169704432 151913778 945381507 209209401 573203347 606338254 500735316 929312081 650996859 604021622 507043870 806086272 143054493 600218268 714527755 718515770 259203985 160479600 106518830 293019179 973471253 582798239 527534835 366338791 965836873 766496746 281933508 230657287 667967551 130730446 353727895 686471060 207772250 666064969 323092779 671771583 640561020 507667781 777293555 316182936 254982441 113124030 935785042 147875039 100462821 970700115 469304412 657579266 325908377 481773891 133104986 664516887 378806182 400127986 888696815 467370080 521984747 636602987 563807789 180442456 606535754 616614725 621092514 624913416 715838134 812519830 435444932 716714893 499485452 886718796 568210144 366706766 669627844 343579486 144097933 433660906 723557841 381395881 263589877 482956729 486706327 443418045 772489332 216498860 769920449 268314231 169218275 343645776 847124243 189983410 936843750 863597402 998561225 466750795 610968663 729323847 240150458 335726954 863151828 221210161 167120724 947635207 161656136 589198205 329261309 249402815 655987854 549206940 307406105 343885763 977339244 931695582 953474863 111509729 697695573 701791906 645037910 488062599 127066244 554745532 687342619 993914859 959788550 394909286 602358897 946034976 383669879 458343176 778500451 958736912 252423026 148678157 132007022 631435935 169733092 837999878 446354067 757626156 312608213 775785986 523005326 375514547 235247355 810225546 222916825 945517435 884707518 359138034 383511036 852983331 138899477 791968163 471558996 599877402 469835187 910648856 312007319 353963260 965471609 510135986 212081022 563383621 139011734 381736870 277647768 302706215 150786559 187764297 955241078 733654170 208968664 980733120 387942365 587529992 584289777 208896823 646864804 369262328 271957692 934636583 665121736 276656471 763930960 630244679 753428524 252486856 575600959 115448072 417200298 534941552 709991148 619537781 895756416 595908587 143466072 353022981 591380920 314830536 302401916 460791898 216558203 773082877 251474859 765987463 225558805 838538669 595576121 424026196 116832004 697583834 211848924 187514368 738803200 101065286 447478227 859867583 147263165 931752929 544975686 598729616 308295397 839990346 663272779 851623884 829833309 926185716 495249078 534424160 490601122 370317838 615116670 483559778 888127341 171361342 858581902 696251279 219308262 840020654 755786587 244993470 449863204 473195587 114319114 251856925 457864575 147245600 977891797 915895384 806367379 334470498 546248553 312229658 787318388 941261939 547199912 977900033 337510530 510329361 945743134 283348066 587539187 841843148 134394319 141878299 713092919 463659409 703962209 281657683 485917016 302851298 716697350 605757594 600527355 392525297 712357876 433837759 971221332 390346986 175356759 832390417 612838795 507238078 387807951 828313049 561366945 403461137 110684648 495483711 953749139 371629366 215255313 159495865 208073855 143463914 874801215 104945392 927238544 376299907 836940401 178388516 197921051 524963286 677000571 325733505 329392220 371663877 598160912 206400350 872515501 877053995 198422068 595883828 784997092 328952160 375569004 606981787 925375069 479756156 529003773 961032232 862765239 553066261 119640039 490535839 618904630 817912583 698281107 769235178 449501178 174413608 869098810 508948691 822323960 921944545 549582943 239276057 864241003 988129164 509980051 424340060 897581317 319952453 151829900 249114762 153189606 656268771 578285844 968938931 575997008 925040384 913801433 183934788 848539753 588208320 119582628 101220507 195210725 486479537 803894696 163901328 906664111 801305172 749345930 523625469 280363793 565575776 778225260 157136595 890956002 932443156 111715272 837160737 217379922 547901462 902284635 605059401 299417314 301791353 857437907 221132833 928120756 910494218 696977604 152929647 861781258 467622326 577445620 688022589 557539916 768879613 253766245 905180014 771166362 369545744 417947989 174642702 505575570 445727690 440980267 738109909 472195381 712665917 364217716 485982013 236568084 744214173 445294308 401446126 942856461 981909999 888727736 280597044 825298648 426332524 149653121 654809142 603386523 521836898 455022686 912951104 530128304 467637763 103533689 251017274 185446249 926328174 130444588 887336125 391491858 350784219 290134428 720321986 924281775 896733129 517324817 298543273 395395251 337740349 365031422 117439586 728232234 274409600 933852963 647666601 891462385 938628992 986915208 789070078 614987499 657484940 215751394 708455647 220051690 444939386 965901895 611280654 876865447 915843255 819844334 331176245 519858427 157080980 258617627 568439658 551326568 340950974 775681711 733406176 995813489 120467417 217475075 553768299 485450618 708948446 211604957 787555407 242556195 937806858 630973824 966837308 953172164 774392866 862756223 940597347 713151982 360097598 149955621 768637515 323139943 903547549 807343706 922342450 989029724 262410091 641473786 572007588 761753439 728503540 767990506 916046017 511062279 654526875 283759163 792424900 932343961 775065510 599110840 555900465 677410458 228414035 316732919 966601524 923047700 145537526 812766427 663553988 134160796 109972038 402680596 822138899 357924918 135884606 665625758 551729710 142489299 133994407 908505841 415920096 191531498 558412264 915109885 473715066 825773514 158396532 901263919 423712135 386908106 955298402 489735356 317569069 468418302 747766986 159153763 479262933 926472071 615107669 523267910 911130493 726801513 894354205 117254497 561179446 532038715 582305938 752186997 132090827 546890766 996249066 975232044 757424754 727632893 360359698 205440149 635955572 607949645 477053947 106549290 845478561 568944895 390928141 543546908 211738471 200081294 595638121 672821260 240983706 744464384 807930880 624634902 257776654 836321901 838910445 278398172 861786024 186850613 822156627 810143236 171786415 955080946 498537158 384132132 425687397 109610591 997267176 470532709 505041461 601773451 298823806 421124671 704060094 141392484 660840374 435181452 869877345 383369687 630014313 395492798 990674750 341621989 567868770 900784884 987311756 108623935 667600854 340497806 407119214 782554039 199516235 558917120 570774326 232189728 701351884 560156105 133675283 238307254 656058101 316184319 784032564 322094709 457728460 440879213 861041266 609966994 996117336 842613968 782826309 574065204 902265905 974713796 164066380 474143280 431942906 913800387 226401073 722020456 873671165 571376750 448837750 314570513 107706739 692388953 550921990 567123572 763476821 874494580 556011877 516591631 195180595 253855259 758107461 827835358 233236336 506681378 920578554 951395554 846832797 476094084 953658947 730935770 541215786 609219194 501971083 670184313 832298469 374268593 301214231 742550497 116032622 270329956 253212441 678675851 697636494 377648790 808602827 679627592 275840145 983786882 525312985 907668280 156748803 102769874 910174609 167628978 104940403 224875845 377932154 127707181 262240793 249818571 693379194 555034863 213544000 429690570 323020793 665422833 791663579 963148617 781039183 979419585 754298688 970431581 713266591 827316375 258854846 758252036 288024763 944599002 397522086 908640134 762845808 526213105 920201316 132126406 641363788 483871105 181399774 941391252 337926454 830012854 678427643 562818065 549821372 136985091 252048139 168873983 140093705 255873669 271056229 816006668 912808877 639866190 732721809 787591392 670452609 333532552 815076173 195987720 383050672 459613755 577542879 121684530 777143269 749387861 137704658 708940809 255615248 597517312 504042192 583094165 432459828 630403024 441140022 966799418 590904475 642020822 309014387 465599268 795068084 740863155 953975635 286070223 367469750 700149034 879552264 677495938 354710491 637658690 172660556 289958455 347756699 840523643 188215196 173764483 288804629 573849786 294468446 972453674 701127723 512859753 135295068 473782515 725346885 736519342 120601380 794228155 267658094 678228318 194615390 731766534 754669344 296701587 222404052 479139683 681442475 299572142 888319920 249785399 185187870 714655258 622373088 208732187 767607555 607633865 203915913 450971929 226454791 144241914 568486687 733503699 287521506 210112474 519848620 260092038 536861822 810977735 590525541 710723298 714952518 429260424 881810949 375770061 142568835 727444873 782883823 317468260 519291125 494373182 651219472 361049433 609195430 335978772 456465732 460951800 520790824 628972194 842503107 845028780 379462974 782284659 376957367 631081970 748143532 799411976 606912793 336729398 392771983 518529727 375507046 972233013 966753104 432991531 811795118 518708821 932853244 157217924 704912548 900662905 787642700 502147655 306742630 388670305 189308727 289618888 549856903 786022639 490102818 806017654 423607581 459544250 915934214 251697630 239853906 635635067 472777479 893621091 380835266 436323947 459672865 612534756 347034247 602942369 518168097 711954059 856257546 986788391 109664594 192144791 673386230 488492477 209922556 660043712 551729971 255639001 399307425 322940516 774935141 112279008 870402991 528659114 706541690 119555918 618428551 959750004 244197386 355220202 967670652 680559022 197353429 535732571 681678068 228618429 745366702 630039966 779861607 789600073 636027340 573651578 491314803 428595907 917655265 942860389 911557582 373393332 383144687 280337876 127200962 350000468 776503418 262420428 532827724 381082240 469924251 327387900 285651846 339281310 159955945 644190435 607549193 552789033 706801993 936552266 980076443 356872438 439870412 249559425 728833448 926496708 163552971 564977445 487547999 270550071 186099270 894688926 202022529 386350236 291572994 631203629 355620765 616798604 714500874 931881020 402774729 116831491 990676767 836935518 735977867 119606652 551612235 510552374 926290116 644170633 631075529 563637754 348934653 660648924 371375462 518129827 762006395 432380797 509218206 866686030 467846380 482786678 229816642 273071962 386131944 489810505 969670281 824603465 295491069 811348996 587794312 900401544 743898263 175588211 624374570 271495372 611516785 184477032 363417667 890525487 404614362 509248124 399656018 425510662 433797762 583639953 160282802 221571721 123421870 472884282 196149944 882242147 911004807 184608682 831079271 933476995 196386161 172645888 508693374 567808635 427262520 691701261 727675915 342972714 296558093 796216101 311407436 208187488 255647996 151946908 667014560 309779704 323529029 703240426 126924789 364828243 818428930 969497612 721380663 165821836 864860755 161385944 781282877 156783958 762922348 999581509 916492126 869422051 840694747 415728859 314357079 839494288 666780102 162684122 379769051 493358347 922656118 105621254 953123754 465140238 968241429 573421918 795537575 377022501 396211739 890899649 661009998 426480285 670936066 202563047 912562411 499408989 653911820 763081793 742003267 471426259 560187605 165457207 985797370 967742626 623554010 470607655 920842256 729204816 776248428 230292845 670783056 568235440 380140006 965923523 551219235 957196139 738999049 487537172 942011835 153301061 791982838 900888479 625420714 343735686 744407101 901973622 607479931 509062103 499014176 765503401 494820254 966908812 296832610 897154761 424684540 774624815 222764141 435778185 522476721 199579613 864225562 314487486 173419552 632995513 936441017 847769532 682401199 379688083 738354028 431548580 946535973 246038255 552742251 581933979 243080260 483930337 346021477 654981556 393108674 605754595 509476804 722123731 333539276 543658576 515721044 716465674 692507270 333396437 835420871 904713925 196705669 878245850 473326121 597345056 485847678 939879746 854622444 103116483 315268755 203957910 419790268 308130576 554767978 332591533 665689373 226182999 689605108 874049644 394946570 233569605 955121477 418311545 401870077 693782284 712676985 494777230 239247449 838995265 810656161 699784187 251223909 456410220 696990811 253693793 608509998 476568338 220294048 659654425 908718791 854469026 722960566 318592784 141763543 432345804 715999381 948430467 764312393 919973870 744502603 160034633 563531131 603332394 464661958 553564308 792619224 129520736 660498553 954950578 580130054 586491936 170433769 922344116 808461967 939191536 138174146 697016442 140709310 223354065 438703501 197237567 385808073 165285364 503587846 477271694 919621883 684070944 561699886 901455951 641818752 559404582 383132149 671899913 543465249 882731444 845865704 890307081 533112200 829341487 615037869 629506439 827918666 486132075 399340420 646450803 219649132 883664777 804924120 683020446 364909104 428114511 887072334 996309457 347471092 283094034 245864226 987574405 412647150 702737962 673467357 941149981 644337239 163497838 317864944 264012007 963988952 972933068 518819176 404150495 409980889 637010061 240687655 655767154 725284774 965473011 697244090 104067025 759330164 127237105 823104340 301451432 790632414 202160147 174923527 678523425 712459140 524271905 923648984 244555560 222095532 869130459 757642806 433736244 633949303 404141127 707144140 588792838 467391355 135991673 996174086 458823159 379482742 802087433 582449140 394500825 315370839 329229391 353442193 568885741 609875134 684806743 912787870 388996068 875960480 638169959 179371672 582242283 825563661 791171681 517008759 228892813 316222593 718775852 470997863 665455799 879236126 888606628 834151734 521827875 174514491 689109302 168745658 605035981 611973287 126989157 507658284 817263096 841342574 148367707 839815285 801531611 834535992 509335462 187965476 112589325 279280664 617633052 165308751 593263073 542938986 191402632 274563681 629569788 889586619 503162004 525994909 849924766 395801413 914726888 201596327 549564671 117989936 901747200 572280152 622936526 441735293 698372540 656405301 780372580 337175887 105960185 992587826 382571296 503836610 584294255 367674230 554498146 193710941 486489141 629802795 141989780 905278467 815422663 487253858 236165776 748493612 197370455 664146603 609655147 540648621 944829209 159980869 718005174 935283866 397672586 843161647 298087984 982834427 386523718 699561571 359547867 811285310 590486295 921405735 648098458 836908570 903917763 346612561 932858520 492612538 290865058 770332563 210573937 875465147 128277813 691396063 362364427 274230277 848849958 993473120 638467554 424086881 804725805 702739816 585202724 992217668 609430876 375563032 258164587 161095764 520559304 535641229 152976142 475294414 792839454 572867677 148633831 644880691 655235121 131504473 852256425 922927033 970091561 601644970 632088182 402408716 846844928 977751245 962303915 723579709 948995019 979614834 297383910 693217087 245304575 683715224 939309227 191138556 970676426 182534911 340345060 107450934 895977523 848855521 969031795 846692013 848098888 776034140 792874283 507892668 556483337 363244240 245598293 750339598 489407973 689487039 480468392 578100779 313718511 179411026 170286826 503699183 400947197 674049856 664973910 674106134 477474467 805260352 958006219 849495206 155950892 881828316 876478391 502734566 281957470 411455977 102978932 761678722 524050311 645494155 616730357 923167912 642169987 526894514 592118019 554517456 289164525 421819547 142245511 240610415 438398716 318095033 424163886 309865661 560905349 561015413 761964079 923452730 252407169 584562938 708798887 290532552 681500016 693082915 774472338 333047949 319670559 672711265 647198512 556866605 680334107 798202642 856445869 410644046 769388983 993235630 833258155 810704640 980297180 500186971 708488535 703598220 960763377 512993948 544579279 392566356 329610558 246566777 352360209 514576116 696509916 529028360 371970988 228102700 440468151 887173591 111900607 472538962 280732585 758972171 648863084 424864580 124015236 983290077 926597795 857215600 394719214 694637816 309704686 493922799 925727068 543128234 906479946 515120550 413113063 716175690 383867325 308440997 196311406 354722665 122689982 151475236 418355252 148623528 847812938 614720365 286992909 460890130 115911459 219361130 539525906 426216925 117885732 956719962 314951012 181424018 126166634 186686646 784747297 335588520 628421045 859363407 216430720 155514453 651845921 809652086 415840229 852073627 554621306 155973594 636107345 967300150 243589968 985839434 456473764 332462601 651758161 508897973 348891180 796044439 802578146 609098701 468881323 521334424 695009635 516531647 382102915 456373630 504093210 735833768 437633851 181384556 865556983 302774083 880757568 653991886 974750171 119594845 640299977 193980141 876589294 763664508 271389765 570836034 183174145 378779675 732027123 294523104 191342869 745332790 795175734 461270004 789658808 886780386 387164651 559106859 887298233 493607670 631658886 100868142 318475244 114221221 290881732 615577827 645548855 250189988 301210722 566964820 524352082 614103987 405582279 489162950 476571253 395830736 501659824 965776630 198090912 886817282 147753622 615307461 288407314 656875580 830090316 509811385 189926295 394691997 139309372 745509460 240908097 687116370 780444117 474166318 885878349 897739710 311880334 935180074 166814359 170648080 906288678 110016206 814028326 730755079 503776098 743145900 435342298 555948174 687478029 695645965 358858392 650779543 509619246 556160304 577111614 788909049 353215854 368226401 673152083 588204674 361279522 125599940 615261379 945900341 499998536 644883055 964116753 635339942 864963256 895388164 480126578 359683244 806293857 928153070 995562687 356255595 187501916 730453388 698718281 788145423 702790575 162371345 351014291 455000878 871129643 236607856 960540247 596502358 724135031 552781934 416697250 257713412 906047315 929703596 631480854 444918909 124097824 837421707 339170938 937089806 796193665 898553572 724823032 360206607 857633081 709632076 656318776 730570963 377700045 197918930 302491481 628594941 779720340 636046965 731894633 169721528 371658712 485106760 465701689 682051759 810095384 401494265 415644777 217300895 104647348 798417393 909709398 186324947 354049131 178308876 603761384 550362278 974809528 353656384 566746501 724668277 409894096 109554012 242653886 455554108 233687343 930063147 698522263 267570912 103532566 955987056 804996068 406458558 559427188 776848023 692822007 841282284 844815443 875077354 115161056 772419293 570022541 423036124 714413681 187175323 956496072 599610543 158161764 185022910 564812203 247422151 771783376 756892215 363910774 213290208 691594429 882770828 340088458 949270976 390565902 661582304 232988546 290090360 350765332 291327032 310426618 253483871 464862894 974899118 432056018 231245696 956682872 625653072 740979355 576315444 701419657 643277895 963332332 667414215 225204220 908645516 462958360 442954487 560803974 432353284 987817669 165558610 426331725 229916557 784580282 157585504 713867310 317939249 247639246 738171473 307995115 714275249 337879215 595434424 713668244 380709395 645037400 819804169 994731885 859050031 411269340 315668210 686899905 579295328 571784860 515091911 368191528 289552291 152495922 848573727 648276698 427990489 334880964 126062981 332465592 664335266 683604959 840715343 158921594 794542500 386408460 415008951 963104669 443493304 786724529 561019142 500765834 267651249 226180498 475180363 876850688 620578991 996052878 674868408 302096848 759887313 186589995 395465956 781841896 559455570 891931973 388808816 265909030 230894071 886617947 332694873 290729948 820638784 491136318 745506301 637173212 540158997 155351006 985452304 712929362 403642023 808576566 175386161 589618327 573805392 538851983 984394659 586783386 797121660 848914450 620651061 904949460 370459524 994940545 295044191 867561781 622372050 186621332 619078723 213605307 960331528 911715347 330385261 509045083 954378848 480578408 307210942 205125932 345086806 631733150 617623253 567198058 729519621 592265148 654573044 176462942 884353802 762798947 899750830 794564795 457115837 562452281 552580216 833713400 710031742 577163606 241994459 355412661 769592485 558129868 935842936 132331732 820626020 324695820 644820825 426150076 146048197 810515735 820348175 960687131 665883664 502812770 778864113 283781443 271732365 598459305 487025718 933846107 580613280 133550431 274232178 854334592 630580835 248862093 858922624 401488753 708462953 669324041 952953754 330159832 819241057 479768391 440407401 884544166 550723618 832393201 864798648 352994253 847064889 862420489 793514022 837386278 557802434 142755400 913753202 599885758 609650680 920100112 992583425 795819344 775747293 330441706 721110542 431917988 733109752 763788924 851717244 833539486 418970069 970072148 995259430 825697951 811042171 940573843 541764122 882861828 769284483 125569743 414318482 556965005 961264878 356003638 774874775 895758580 520853051 671994117 593179446 542065517 919572650 301853894 830740580 821954159 737532918 648589727 720626070 956619276 629594210 464025531 642430368 454510271 192991021 575229579 365955458 673608352 437815262 483121393 402643944 639096282 120796795 573861731 233834381 344366636 331973716 904397965 465890377 641524458 966740706 203123597 755881648 612849103 111641110 398266874 583592715 461958204 334864335 932283845 605585498 684757690 645873018 665113282 594124099 496652770 446436868 342473986 668296037 951841323 524694575 208216190 910059559 496056482 493925004 260412906 543007778 193495370 910302379 619793136 159250669 818929410 346698309 563030206 495928027 196544499 770465933 379644775 513045016 183734969 181853166 829485468 908375661 225471682 583609717 754427774 988149121 351364601 260920985 895279794 843556107 425486189 556317493 432110055 333801393 278855949 970655606 547350062 424713634 411128932 137213680 700017555 633571009 578568966 557960115 649677187 692189220 345415990 468456951 465348701 664615334 840278139 109944401 340344322 199266527 146993640 832290652 713523335 905406364 607683929 685212708 767821410 461430530 273421403 927050621 266755921 389292877 554259049 617203667 558088529 954842754 559044319 167249953 793086040 155273830 163694999 205720078 634830154 774960755 956019878 771566690 920435044 762249367 958949507 822431560 314758925 232975831 126415137 998474402 621978956 138783049 788658252 721018994 420181976 220822634 432914774 970456309 931658097 740554989 224250685 676973080 150594997 179274370 612031908 459839165 629524941 287656156 461041190 500643129 471618262 442616114 227939442 157207112 566066015 239664896 997581692 286354044 390378538 285492203 530349216 982112002 828069021 462348086 170157048 685656293 954163391 531380527 163880200 316929129 567875762 328658280 654737436 689281649 822900323 847984935 525500620 818569608 409805171 880328054 196790488 693004961 735243168 411130236 647431567 327402737 730406283 702593036 549203572 207592036 423114411 240175229 715194282 766260940 924790677 940756251 340026425 269537319 377342245 696809827 612505678 424642300 313818543 759140410 183489135 288179786 588318568 930425640 312896630 777113907 552114851 593827168 106006891 214295122 972425900 529629506 299243296 668969904 123355647 231029282 958984400 401807287 958513963 932266332 557297743 393055975 992616497 179415820 632825611 934897604 668103873 730535881 896367089 370556385 960714245 895955442 747637455 659957364 906195415 841045692 693903933 770978157 962416023 335177282 389067467 817592076 808366750 895789366 287111441 136401583 799888780 927202362 588724999 440444824 818834375 133508918 588897760 853772534 636740087 766466689 627763376 121331162 971097094 113027219 439439354 177535570 562530312 558230555 616054798 211317266 786120902 190724522 934633238 553694244 569774192 194846453 348143363 831609390 462066249 630673745 570016447 260516998 105317881 325136179 237255196 141078347 944946762 459806285 690779733 919054258 450785306 305472194 984537598 187954699 345590741 249720297 258734748 351376975 283277502 526558961 152530727 756352264 798574433 844115326 707888801 666667617 437125602 366481223 621976467 209933656 855285916 749941358 557069562 282876070 895194776 201765689 989378005 457226412 307470234 518235126 285856037 713905710 932718478 783386493 315381894 683642249 688846473 951605135 527608947 875075658 934849419 835926459 832227013 861833212 355875323 248945586 577925469 181259388 239246135 221471392 467627364 630813953 910770245 451128232 222433316 291216613 630972711 756751487 455671644 538052688 123063636 170135282 533823364 980815826 506671924 442028164 746794976 349653943 938732027 891947498 206213817 630306896 250315440 435884241 434324081 278377232 562363256 105803720 879643789 967154214 340944643 169295300 119312473 454563818 325529611 282099491 784761162 336769798 131728723 552589368 950150094 285608194 291172047 702560572 163102762 251297296 845889738 527019818 680795623 587592467 257558592 582290722 603977740 437434471 695770989 554382278 282536531 197003897 667807595 686925293 479386062 184043233 501021121 603090912 444639064 788471156 379576568 751217239 630980807 404200071 612043338 126200564 881217916 503739915 356438618 939040596 850748257 988430298 583660175 256983501 537247434 576304222 749442794 512078918 762862667 134353597 106023819 400581468 735005075 503887555 953265691 649794134 628142187 959231653 615957312 711153902 656047668 943751318 188252181 558562521 625580712 965773604 241832121 238801953 241674416 868053479 360898600 203244336 273414660 878604768 392823778 101474005 380987913 151902051 739460753 694013652 376728759 387406012 734050925 789151584 670932155 924569905 732541096 667994827 773121693 839885740 288197025 832546730 167495985 976496019 938880400 430961988 446082861 537303143 268777850 772326099 264090111 905090078 954162740 629015744 453517125 433730405 173166245 642486537 758771109 385884632 822032051 280891288 354488046 942781177 919258766 767520740 216151734 718247767 493096890 141637851 896964525 973672257 984208637 139979865 448540659 927948905 415553156 619837627 811634361 543207613 554101600 156782947 316192996 960387796 469949122 510042266 150909520 176743678 585837454 798510126 144948144 229104514 989297812 546538031 423168380 746671056 404366240 999462769 137552147 959115968 411885785 758480380 410007962 526125905 588393505 816277930 348824069 430530283 882703133 923790314 144846320 732123233 868628802 431899802 719015200 743056306 864982915 550224161 954787255 806687508 219887263 170488280 969546992 774439990 121767181 915844039 948427740 769130091 862577518 866357428 679060698 179978627 224458854 548542730 578983101 477212604 185208962 344671313 385905171 381861750 139735719 486521617 792320882 918700926 511937682 999197668 216766307 341609749 231582907 649774555 559441800 424829344 195285731 200796585 844925244 767712866 867848227 682551441 397383945 736673081 652448487 664772831 832006041 177553028 237386948 716135979 882850250 993707331 964229537 944174920 468920569 991501481 172027835 649264197 207723994 328310636 836665347 252986077 815083419 729382832 520637397 437736103 162398783 283916484 764338471 554082914 155866404 801481804 813537855 785408552 856274958 183299551 692354816 187145927 907256956 655354673 213670106 191823391 859348052 872298961 471247961 611032600 172519781 736317922 864095668 856391339 132777020 474095126 380852988 379457329 587335993 899291982 753841327 858906780 808773698 178616308 911575523 955288465 490915968 743713252 880980479 500345462 758885359 279538826 640970838 348458121 359365127 501836754 924218083 987233893 551866534 401453805 349014254 914937291 711302296 207673978 680440341 959421630 351335809 871450604 119416366 205057632 456690383 325159623 848573536 990809519 344043557 803634448 183084771 687963785 428171238 290110543 239245331 975164018 605409205 829217664 799556184 831237896 579660490 588707067 517435399 572635930 643275788 213859628 761172337 482737971 529577192 170630854 724458921 209109755 956387240 979402674 790632577 572274530 920267322 537463237 470844453 184497892 309178587 217090118 672128410 709781292 185645173 370752642 178447821 154664179 758203079 718708224 473129551 947537456 133213935 789778048 241608689 936057423 998492541 985518997 530344083 324129818 179729841 719296294 484787368 862106200 323056578 331387644 473599805 291184020 940069317 773867984 350135366 209066993 827162944 147481478 504185563 711315858 677963019 641482356 784848997 839771315 936687964 970258062 318498610 347082370 970484100 638949949 761786974 466241735 361079022 782711704 956207504 794027769 146484255 388356363 958533682 116862521 203244737 415410250 870532782 764838835 689646658 803822955 862514937 361813960 652759963 971333366 897055802 609901967 307436715 673168755 732452708 199465791 543747432 176866199 324738886 344745490 755417216 269640608 413190987 626893183 704771891 208006504 119078070 277922951 417482563 338969347 911992743 349384243 834213993 744260907 311763761 113651167 674494830 180196856 866435026 568180712 143109027 152359754 424568371 440135082 871914345 822138834 479061629 386095788 901240594 889362180 722164550 517904936 849929506 959948693 715715769 233020905 409124541 142218269 291429667 555081967 220367291 986320872 791059532 121971727 489410764 689275984 853485506 254284014 150802455 456186533 400219101 996597791 699803089 723794800 659586735 188816199 811286393 695002613 993452787 743476736 839269970 536211445 573222115 954775086 605575511 303482273 242887001 734146723 649019505 693873039 419765686 871083391 758858112 228057658 689731190 444585507 751096142 305565458 242518028 940334585 895449565 544640383 928649717 867289946 247173259 800014074 790145229 778142307 533187835 807118030 257292014 542307536 490983867 767478716 631062090 570792334 852713794 713434678 787139592 922424656 904436653 785356483 820216124 468443117 120740942 799383879 636082932 677728726 906812440 300974713 524466393 516788332 798389439 107525142 349419270 481115044 460093940 422434082 113130090 481246344 553645968 729563396 615194832 397986013 975608995 760360967 832810356 896481511 690972714 422506248 558244022 225886764 748386205 618679645 447266783 655697542 136830039 232140054 530124962 984949607 919735536 317220372 266224936 821920599 710614683 142314208 307143546 978347340 258091771 140865194 658203342 477846432 783247061 731678430 253755547 746735698 430859478 313128489 265450711 359338918 524159394 267952426 770993956 464234729 556327535 755768968 177711554 409734016 720777371 697456307 730604105 609357792 691015529 993370501 463032001 965434288 267461553 976137729 127730531 145429315 349074604 345138760 708648215 912425184 953888616 511037241 390766739 929295386 911893332 132428394 866883490 727507436 458889558 323702614 827808235 218124705 575451244 914500345 838294225 334359715 622929943 897405193 381969590 922574007 678976261 297379579 646979102 688098983 736648096 127733616 106404693 902049861 857566358 445634312 351182804 584381662 387470208 723169422 845286012 137575900 719414995 559799613 460786118 809512194 341397857 418359031 353713711 285685140 274054856 178459165 906338278 275075196 817057568 551846271 540333281 874979786 812608797 319038729 925087634 600730027 794660070 647340910 407573068 342398832 979227635 763819286 854642472 734550214 588519856 690199636 524200449 914650335 423069111 288446415 423545838 398285089 462026139 547910970 583154227 619227686 320540913 470842687 217607267 886982454 946899290 719172118 157796102 732224029 539864125 877073377 586615477 766336152 176268989 268235969 142434712 607119671 980096882 800432615 412006271 225214950 147010755 912394107 968232892 666908091 107018882 357179473 321497956 677135721 664869382 742957673 589591338 896136915 779988410 422755845 676273800 603715709 737228969 372261754 434774377 181281429 220190077 338459576 618724682 843305543 621968982 120160240 262988370 176093616 954941164 167012356 176439992 290573887 114686959 567084181 671080328 804755678 515372034 749336740 178961623 626169258 324345900 118652405 966078029 355930630 967637941 455277684 670467643 679082859 742779395 978516101 674479400 934761919 843730849 422390325 104825724 261417696 223942017 217387465 288489106 122639162 552486584 923156799 768021579 499000286 174607384 494223556 489365487 711333108 732261900 381342403 121336522 397235403 239395754 374876095 668854494 725882635 979212197 724494992 104376394 593979745 408531888 266571710 369746498 111079314 883252843 493702114 701086585 234761170 233537869 155850762 263778116 658901560 406604672 970445439 131539015 420084812 734470970 896514399 822616626 444854389 596727736 797321290 428389924 621548817 420842610 820192140 847522706 297142154 762154265 784917783 933198193 213855959 329055235 985756496 450104217 355760258 662091887 135397802 353427937 794729258 320103907 298455319 201663219 454097074 401876530 303972493 446347095 116788357 774827291 378844461 659273804 943378598 821478084 961587458 122298349 613254940 437543246 449134695 792472348 585657627 252183393 507071203 106034032 292597253 775145718 569672113 260915648 582831090 611937514 580001776 222081125 440544373 361366082 754030860 667237930 167459380 924183815 391995479 749939927 917167504 406025065 761133657 690794569 576751230 960475852 436159625 149650980 960050934 290230685 729409996 451159816 919940936 106172978 556358543 771846784 609788455 719040150 282130956 859671630 683783173 370627031 949985222 689621005 943160554 733657528 456032239 363976940 429254022 620414462 491790867 924645005 644034500 298193292 286848681 934774882 806807129 691746485 528681623 936917384 782560194 171936101 815938127 646064129 685690510 393339890 848636613 577685874 795175603 491601568 433066478 626054564 871237964 333317695 308902712 537098183 426809815 460835316 677169767 277444124 795479651 794796934 986663306 349490608 264273702 152085327 718373777 378901650 465301106 924398996 499407834 723603736 417166060 363586796 772557077 485484333 249233413 444046312 236112320 239444774 133354920 866544358 724819581 650543886 613524775 597952851 119992091 216870339 330265299 550629164 834475897 960562294 595510254 982977833 557609970 597691525 680518067 179137191 119536092 284292220 204771683 295429189 669965049 353398399 491310184 244028971 285338275 135474798 964918637 948299971 392288573 192036785 759141777 583870884 664972456 243753644 631427443 829254037 967042754 861585741 922136693 290853420 911246458 518408593 505824171 105716800 738182427 498653929 674983995 290863101 963796374 655436179 919111066 205833877 164086964 546486753 853998302 966597931 273399496 453051650 928029201 317375907 771971076 482938389 563085378 934822855 195580626 876091293 899811328 453034309 873936409 395419496 846963191 843493250 986167818 715615945 721230466 742138404 674883000 990094661 487252255 332793669 593888978 964868240 913456656 293353634 399277061 314657752 410011204 868037783 159581053 840652256 653880555 927683139 483771132 981753962 389492751 495832257 665673056 572446033 566878496 839495462 619280100 169046343 249471266 676594471 159564587 240211886 793396420 684252759 737835335 554433671 154971477 335565985 949417164 346317364 107662045 547630443 846947705 188351810 221317327 319459215 630482718 433697876 957098785 556397172 884615175 887277854 854009712 931325366 731867327 809585089 331734243 976684279 140399952 240608594 199334238 942425892 165050977 567582365 397767428 677633483 475798649 704662371 746272640 399161477 124115419 397724285 226768260 672535636 790755423 305401263 255655611 397652545 211069553 154227431 406658533 953998384 934018085 866905968 984661026 848530745 102475367 803808493 186527630 999533027 147247953 540957230 787090523 620637124 904641363 965819433 919389716 332123838 519051070 633555997 400921455 284706552 693893648 886734239 979660609 476513404 323171524 557383354 760406865 366690643 224636782 148859294 138910269 551232811 194827989 204031559 238228822 414278318 395955603 399903953 755657693 797718943 313198936 237144035 912571175 436754646 829855985 664745178 658988847 472652161 598349201 120022202 542529963 382886095 748487058 245649921 786725109 597678915 649937478 457503635 758471857 420525630 622470636 602091330 972284480 347574379 833619694 995194294 970762779 440452515 347788869 238598751 520815004 493651407 509115625 790728628 921429209 324644726 951219076 389876286 578458707 153346694 757527478 787652611 371660019 894054677 677237830 845103953 706598860 922079890 388160059 131517096 936137734 493308147 636502322 226590623 862204623 324698304 568258370 761798195 552855461 211959826 184378087 688153963 950149897 549505702 841064017 542925955 321862031 524529250 472867634 830721736 337208321 738619330 444539673 642093375 743908995 271459077 929461360 991290022 138214034 278947865 247559411 172414793 562118811 844623417 223618111 655636453 550294053 933463421 184693171 764359682 767594244 649772921 771111067 953702040 112844344 321149710 686656621 184181298 716180118 832251880 951650397 137517548 635273159 449477546 668249562 946973059 800619913 512240637 752932695 258647446 868881644 300424004 810711548 482497799 473943089 469361615 828073948 100736593 823872791 351953728 595312576 816880542 127039215 716012848 621838544 601807474 959809827 442768649 116145183 972268533 650380716 517075314 585993341 536442881 948935713 644536087 442177203 643520036 356306328 552564255 623607632 106397434 809707756 575346126 186378350 454429927 548145850 589610657 592810136 118557342 243553706 573186952 949502726 682167685 349218534 746348016 394232211 369078144 963871647 102823960 325255747 573570247 843061500 255023594 122293892 974780501 812995408 328444915 688584828 294293276 435121406 941566391 717858217 833736159 263359206 821794447 107979550 169918662 645945623 992821467 167232391 389496381 307323111 278703108 766489833 965249562 795186055 200819658 314011480 338677085 168269695 715159308 794264855 245498145 281114379 390493845 796491196 105909197 482278962 271960005 353129938 352023762 188551114 174467544 615029450 753731661 637070787 747014395 247387292 838505371 741973547 229459702 654204384 743049084 200645462 674321963 505187955 707493361 196792674 325710835 197465906 641900278 184203416 820472413 733654540 309171980 444332678 487451225 359111253 354245689 304670599 236295145 823323090 695558047 885341742 664242060 682117882 401221701 404175691 438613278 347524006 139262408 706757686 676406629 606937641 287633685 107839179 737365489 619073594 779672025 288639186 364836463 986473606 453716182 253327624 852837238 669876603 178758345 998449915 186734190 231486434 357974515 634950348 506012665 797060885 509590817 959461395 205276264 920519634 734251892 639998053 972155165 338811996 618495941 581993961 294277114 477186652 494071896 150115080 260202556 322203320 298589962 639400432 969084378 403597612 441638758 532854372 361334083 765871488 106985218 384069128 368140585 333555132 607247008 565561732 848576765 303361945 741565009 474038254 359033327 181254647 225672859 343847959 150029613 172220207 960159407 227729442 808296315 906280336 563719523 107089676 108263039 151875601 132116847 342690766 372027507 127814856 814348606 705720835 609844515 912591503 108344980 200362480 275158976 878486208 525271497 789674093 303529256 144211838 294124816 212338256 160727585 487753718 590944478 344268842 666407201 965560663 873042024 550338050 341180356 980350705 462822551 312937922 252790852 954751824 747212137 206502516 928181295 984115252 539167172 396336314 601435975 164689879 335531438 301787803 139448091 693445085 513922669 419130348 261348006 823785078 184016654 993654452 353836591 590618182 460328433 738885132 136769065 770184808 163936768 399726161 871881337 532532816 655346743 228682488 209453456 210736350 225473179 908016764 439768681 479695236 718219120 524941441 639374932 257234974 987195324 722498760 745103594 331694007 770033308 421996364 662760147 812798565 430612528 302268164 242518710 687275596 684283429 972906720 532316782 979772784 703872328 687270329 955747567 362615078 561294709 988745656 527280420 388551899 935497556 493932946 977501711 184594509 552026636 417873577 776747107 886666272 968080629 767202962 885334625 955751492 314004161 247819618 660878378 733919110 417188675 257218251 420643567 814346073 834651445 900686831 697058809 306646303 655160972 423633954 760760050 552757933 168301602 462724280 562950777 764936280 826022158 924011664 721718419 136967085 298195992 248828735 661923598 107826637 227802080 854599900 980987306 712262765 447183079 212850635 131028489 183477522 252284543 927267202 132795158 413794900 347659585 466504683 269400425 505728110 346969683 453803984 670216917 150291181 732968384 281084621 435228856 176288135 671919425 417901214 933186744 354640516 765280168 155262768 507585706 621907264 489959501 234228327 931362846 950460246 320709124 647433333 895279018 534351943 186790124 171299858 836629904 765255766 734445523 648370210 893471234 910521125 524777069 524754438 632964962 443996728 486599070 254674784 700831033 613902698 170368284 290992670 375967310 764447425 386214129 610675260 413305714 521850778 648652764 562378635 336670686 508301953 520532416 545925439 241508456 664992833 712157903 385763977 263852323 201784232 889556622 753079118 498452583 139592090 913977707 572434207 812581015 733986475 176867735 755751910 322380296 131049376 637725859 337999901 800283616 306096992 651236569 149973061 478763021 986154627 273635165 388394582 978693468 268439140 562524861 457903314 190296930 481710904 922435175 856336915 398873781 536322532 664245567 569356791 813735216 494666737 336011451 658785438 915893255 226314034 409987281 455069919 691945061 529245169 816113224 279284325 537843581 781565266 343818033 683917219 757346897 657224952 860231952 312356197 883474399 926601554 146101182 507060393 132123390 870210634 986109893 345699918 897525631 750011302 659045635 603623914 627766457 938297585 323120601 912988060 348397842 391584651 654392952 190840438 681617413 221140936 462876720 457676337 857545344 608612127 627462554 271082934 140279432 895644534 524455708 622911154 762923120 898717880 217232042 917291571 154345009 412019758 452711123 824625086 225805694 124413322 661111134 440451278 988835976 847490446 687560803 692538646 243883307 190112566 412381131 923196861 972810867 622653245 283639307 312241789 832980243 181439577 532689100 255890643 347448110 524400782 833520286 768952728 556546510 412885157 261124181 283542742 697798991 655050549 546786589 372192757 703405556 173639730 622797608 577976002 308114274 654142426 503030616 778751674 448563531 865133154 799732378 766823239 167680009 575140081 888334785 948415348 734093805 282323018 371473924 266555247 970818185 922312276 209541706 834581496 542786241 147987518 147480385 741709672 733005979 905968842 852371434 499468086 538150557 714934069 919859350 433722772 327864522 512940824 488254314 536635822 381724104 172167274 432897237 448450209 202593896 218128095 627013658 605154880 120301161 915526599 426510209 869041044 311008529 615928815 416991275 958931681 189335100 758140058 996015240 399530638 482645970 844946617 457741741 788500194 463391321 645788107 982457035 779194345 955503020 112053769 557766302 878674458 592314094 249348060 415930181 953478946 181964720 123931412 602439713 789396952 915148556 563502642 416803229 288971942 960239454 348520657 383019139 741301669 245446775 677979964 187589192 361917155 336920334 235506837 166670867 732299432 948760104 982328782 312267837 733726008 545806092 139028274 956646731 824674500 268816416 532889693 115708645 545870436 525847103 848247192 539268117 839381067 159793829 641763557 552050430 368340910 705957773 339880951 550881000 457150201 371672451 425455025 473538792 475841680 734940323 828384890 110187562 148224098 596474918 582554127 956409760 800977435 684095084 737224144 661328225 731797838 640030913 328140432 529462361 720905211 399936616 212069672 642385256 551317939 167187688 817474617 139700821 418065334 484691451 807543422 398260815 604314292 499319319 978021583 912800022 751738688 739755368 920597444 626056656 292766722 695910368 709955817 982011886 992257178 714662844 865953083 258899645 533929972 319070624 652592616 337483880 977123217 770479972 782930868 594282240 500074378 137570723 141817349 515374073 467286076 653577053 937099116 129102454 362720401 172907615 597088393 867243473 450654902 931807857 581812409 570187780 169935504 872983379 854754237 693953191 298692366 317723458 397523675 810683008 431699664 488221008 354607748 238183460 162049987 793186147 918032847 153827967 953874786 278905606 415877549 913388894 141535264 280967871 139845602 201648415 691477826 551891648 850811008 259377405 430087683 256420196 580843858 193738375 338630212 373817213 488281345 325633989 902110101 205264794 999889013 948636215 586580629 375510155 435469947 832897200 923179958 542623630 910985702 552816894 310433564 228232543 930795893 521619439 386799754 551288988 285497078 252745922 257944734 302717691 830748413 715354991 583463190 200150624 749628633 882861927 979559392 194722600 983013182 510594636 326726915 230949005 503146020 123382960 260135212 390343985 676696543 192717567 565768898 230125244 555896384 775337503 170569223 974379671 889464637 728062703 557826392 944476914 188549915 541432662 612313028 416092032 868798976 728436307 173531670 922455906 497278160 777652036 102266857 889922230 208416953 716025821 193368328 141396930 444476948 763008821 827044357 127994515 332200050 343373595 591750963 864207369 749915367 260555337 934102548 820029062 664054551 389590494 721605743 169451507 317309124 575997401 565898404 573049595 136480765 469521137 981184810 332019708 567919286 289005304 194573099 165854029 564601777 173577220 682803114 988843115 433545630 711474629 743444463 190486343 914511375 549437734 245187519 570852441 246811167 928201579 722218402 242410604 596854553 233150394 598382138 473779305 160849305 248226535 492889608 861773094 952528314 864883376 289250162 353671702 739199075 962931838 791618297 533463800 577340032 948168810 200477155 317998568 310635742 990821254 561159915 138380137 525723552 124020176 939916216 871304502 359965900 156165099 282703082 875947737 510503405 344720622 992301789 575665541 393949284 714721436 771408689 307329630 400025578 393983371 830859613 250082365 137486288 709062947 248189068 649426895 441434126 147144150 302241081 364810221 345696634 869851294 483220012 635298135 874736930 711872654 814239502 415171632 871381657 867576103 939847346 271748763 614588295 818183056 387056394 877447620 381560219 497019105 416282225 574871623 607636607 399676784 377173445 947594690 958884702 848660963 177116351 349413082 195956413 907633150 370252596 704165081 498859270 868596374 950550260 762899287 415890647 452863166 978077793 502035975 418330750 514256611 190344582 644951570 516325426 928731082 168367204 252597541 262768007 753669832 622002939 678416843 838022142 403879571 810186116 894350509 568887565 507072249 772001294 193614699 623801473 149896661 347289636 838933667 242367408 810276688 780489818 824694191 758520076 938014869 108269060 695528403 532253568 669186217 674150400 591675082 980240201 520901217 119279223 349598844 573114033 786116789 181982188 907732984 772999930 796542943 334411312 666340767 907189730 858283705 154952314 360852913 711101679 184470677 737466846 932603473 308650444 537457742 673586199 907140338 974566325 819100913 554634602 965895100 356430796 309603169 550976197 678527007 624475915 980877895 585284623 502910014 957174432 136762953 513658940 535216341 167835431 194235041 580332864 103499654 627953179 939407969 608550691 668116608 378877084 738767993 522696088 187054432 679303823 608578037 485063481 412550232 369728749 364655897 906661767 654848211 176295760 759869267 294034100 487096513 877818920 855070734 978102976 329907361 952198566 644074729 651762992 324824251 300724276 856280291 797538361 862950612 106198540 495688811 554232766 693761829 470369049 207238584 514178898 934481814 549085730 833410918 215792647 312399417 804315840 180838682 448317422 103760531 453451949 579154769 105689139 901560625 458531507 825927511 732318644 125547744 228130022 211178847 253320540 551873193 757728117 884051642 570136841 352822273 511819687 228313943 407140884 855164982 383515856 125643341 803369728 144264870 856361732 530156318 442949744 788021814 582150889 456929534 293808199 631336087 102859131 796615548 699936210 296515048 910797343 758850953 404854532 598470054 760076599 980370592 809092017 619282124 758196610 365027975 587383890 934341664 700051390 838217854 234724162 271879174 448947147 871613588 862315580 465665724 126943199 360076879 573102235 836622519 259456100 263407080 623743020 299034634 207446281 987810027 449074222 187450245 270833907 982218686 938643042 100160659 937686167 161000129 669911049 279648782 965315705 522862331 533586385 405250989 596375064 404539755 948020948 114571061 944983736 498214248 558941401 485850816 654509640 535365676 262352853 808841798 502359449 722958393 486390612 708047357 140664125 843203936 405718504 198002539 564179327 170354716 645000842 548234962 527102341 460964561 907723150 894231861 452617012 286952256 850940366 542611398 192745371 886163904 714139486 210816543 854774973 769006101 321335038 946223695 976644216 271634980 538780805 424483897 338418141 223304676 469519893 337279626 795846800 968270894 223108847 310779581 681044515 649538653 125037304 356805396 464139151 200976020 203564364 785949797 110596463 625131714 887173261 603219260 353829347 127341946 104901025 513065375 963822744 647040801 867404512 120227899 290933934 713160303 186253599 642278141 905163122 440539285 529575547 130987511 479294376 756204144 883357178 302513848 164360295 534857079 934276126 648495009 805345573 410098524 134966068 507325300 406711063 639230697 264240194 531208394 521818528 904178207 439167331 986584225 701571827 200829944 810250373 378526939 313906191 747485172 533019698 776710807 502071431 208937223 252250430 480951855 823710666 915558366 336683877 982068178 229320867 997054173 539265285 644094902 682021589 343846231 341425089 592658416 184963986 403526085 247998402 830925124 648557853 128672647 801260114 623918216 329317358 409263941 304822461 147402572 664178187 831768239 308078602 394950619 191815478 489238142 422748542 558306097 760805512 968573849 327010427 283326742 782353411 565257184 599253028 769195699 169135368 257588603 355622985 895425397 183261985 997907903 709969473 458229817 411625770 309201218 728233516 293298553 964319379 731903228 842500615 595268175 415634528 873638999 582101452 869735315 359923135 993887697 397248574 355376615 852108915 655134657 850977171 964041980 981471606 698133531 534487246 428719427 400180725 620441678 985196855 750866586 510591456 281631186 447412910 326322713 381764156 701432582 658938684 880268460 304141822 270880956 750833027 748050842 633658253 957616953 829560049 129001898 886656482 289446436 870412367 448953993 683705004 158257196 655518396 309239881 366036888 890823264 135333202 192172968 894630066 951066587 454373430 194357523 878648244 783044611 622956688 324209859 311794026 442065533 222022493 777555027 327504878 987691142 579952896 733819060 141827164 508868354 550719175 672341698 595780757 984601345 282903142 930443923 119931516 805670698 317559325 502902526 782609241 576364465 512021471 361667334 634010080 698986894 486942444 661702964 541030234 948905040 218796709 898468454 838171350 310636861 766063841 604186634 343061286 615490494 916688684 348563959 355489828 168849390 139524566 291914264 492317208 594591262 244702648 863379527 897288052 617437470 236486424 488734010 817839799 116003066 880503470 646279967 697141912 217993758 916868748 358184467 212900384 412872246 636791921 719761682 238880785 854673258 336304391 332217778 134816844 616597131 213620108 644641467 491854928 496292738 516486370 389728144 740782065 968753856 266689869 185277371 303747972 412216690 510713043 761247592 809949750 775704616 462177093 563024792 928429627 996687291 611976239 579810979 339173007 459472703 883685752 994495540 109379059 598417571 686133938 780234060 989573317 152906724 393849224 726777241 296955165 999036272 745414302 949330773 144825073 979388351 644799568 866629691 230404146 159091638 504259954 943531102 703754625 890951146 129829974 664717580 310330195 814405906 852362879 932765570 578221604 550331784 628938710 609201980 388014253 580800647 336067999 753273777 464857451 196894273 176226265 628864013 788310549 180752881 973988842 765432847 101784821 536105738 374125186 708930245 359743201 747401975 424800882 536171055 945044219 680859588 133731217 886267803 961488809 652462574 499451053 375989405 557622050 393242318 882162592 270113799 917597295 446314944 170861284 892939890 179134080 234981018 302152917 560742505 686575600 144861130 340081575 121456651 506764593 390992188 342416568 511875228 243181035 451390901 117030610 212771221 861219318 393574038 413071932 736910781 190979388 557385072 484118608 123152675 572132833 727686228 621959385 608012345 404847643 931035267 649638101 682020598 330511121 260683573 850016508 278064705 468617463 462588462 164277488 553663167 361865875 676920242 496510801 432507868 400228222 352742212 388759407 317347084 605272477 263023525 684450326 404990679 330942631 811818503 993125534 348807047 570182866 248913485 969049006 170130341 308430377 880656777 363847218 441896536 242761358 692352735 986807423 124391474 458075718 326105870 236790710 187612991 340684149 760483779 926490756 720698557 518534037 957555398 381395774 336260260 298064435 321740343 453339664 262635752 940427371 468395021 957693887 688455235 579293469 481442102 879430347 661054283 603783990 122143832 767972005 377871906 404607174 739158218 942541540 462274049 238206250 298361644 553379829 187921563 254526217 464385360 828285775 668196598 918925965 696374171 133647521 341256741 623834535 461924289 615715271 912427034 684570185 967832094 612770080 440396977 617003489 691547145 718334736 515599494 830070080 114718771 290190060 134319159 698643353 558784358 419714611 649100716 784604091 594510925 847630070 645872895 351031881 647436098 970354403 650345602 554251170 247020008 872961078 878877121 108531825 633889106 588927088 508651604 183381735 168972071 932900037 294891791 388373219 642908084 882003853 548674871 681367246 147123180 855672959 407436190 499534417 163327119 218877512 996096369 302484598 363946550 152481047 680050257 917997917 766577923 706684221 649145968 974066609 315216069 853233294 427866725 655282381 569520078 151310150 339272299 471521776 314552510 414376831 193365598 354647002 679627789 221720361 995584004 450866265 467650121 794214024 804697491 197178492 484300700 563538148 221660665 379609195 552700850 306896507 487795747 564147111 642888396 672944599 379423262 357606385 823671685 520638315 772285163 243954303 893917238 951723757 833285412 482763342 131398893 903328618 210278250 695178784 465257221 479481390 111490776 701206920 539142883 533259764 328141328 592526955 947612051 728114387 763870657 825046449 335875631 591402810 481895655 951247130 132089006 575426052 510787631 700504061 579985828 355269033 305036556 704708007 597323317 185216627 621733841 817554988 832626474 511615329 256521465 627946338 783989047 278701573 286906341 588093446 991535721 576444456 518273884 671147445 209474292 469071233 855529157 107825397 502929327 749507401 914598292 436519239 955348448 925974755 772845618 710629698 664905878 797805353 245547229 745801252 457558603 736691974 726037021 251445959 998805222 785205715 390379538 309460286 717665805 550225372 665007367 117811424 943901844 416824479 154455405 113792241 943724848 807031003 116885943 794494088 264494548 161642225 243293054 842740658 162003695 960778763 486875594 412565306 857591738 377160576 308416391 481772993 488364739 927479468 777916682 880239403 166687564 666615596 915068845 721251927 941214571 318346806 991625737 278253628 605043048 871598418 926722399 967206758 850673961 449845925 663636898 940854496 471037459 654139105 572004064 654910006 132822056 558625001 793071774 362092831 445207993 662762119 847083085 845800886 247090856 106295539 290350457 220630317 105645398 332262928 435441824 406912576 823616122 353986176 664287571 946037761 547865637 561592332 935348068 458627558 219608673 216172544 448492394 752827877 674685721 909981502 259708581 760502798 435411338 687603550 572979949 513062957 211756510 620115947 970525764 249229076 639222891 345039368 375496789 933603905 281960515 505260580 238150163 705876620 847776905 517272141 123766655 591543035 432478582 289417508 791380853 739426458 118990419 715904975 741635209 835128874 514937105 395677156 744354836 456229754 728208142 679550150 822861606 265210689 973657861 826655771 770628564 267614474 348578237 185938701 457157400 315080169 828749007 922662870 569205845 960292042 316979799 170806177 103472857 111640356 867749504 853458460 151084428 265482647 877986765 734213859 582004926 702153180 102995953 785107142 155486920 161926184 928331128 141870929 283817396 479494520 463102319 705175805 667974060 994019279 530943924 454444823 841783796 650334243 378431424 415684410 771881818 767731748 294061202 357124217 900425825 120733830 894069101 680287403 889733313 164510437 312346857 960028521 431012918 875875671 568700014 589153010 623513889 601321030 186476119 559902973 118704065 231670950 597380354 875734641 288433559 303723853 861370242 485421813 793709924 551038425 708596705 613378159 857760430 261697993 736954971 453846786 242119218 905999470 832186695 509559072 869380464 471064941 181872689 625507781 908656560 469573667 421594728 138081615 153552883 414024893 619091523 346345690 181793357 290880165 875053557 310842861 943462589 667661849 777409774 317390577 509711491 124852702 867959720 365116794 805852331 236093679 244104775 263861096 926472428 830869801 678318267 663278176 973117452 933028428 957381941 165167253 732961809 916370218 582789366 977423207 127387332 606452222 696891654 742418825 988278548 494875920 944082570 859027397 882253876 155438525 195765877 195932248 682172352 166823004 333770519 838035491 431644058 407497305 268674652 924827399 673247282 329708520 473938559 674087233 531754662 448894195 760326598 408808594 732036947 270810001 171544256 653110763 966418934 345158407 766894678 393283094 714578496 319748358 439085419 268620326 624360771 458105059 810963572 952008369 615906343 596675126 589722989 647677354 977775536 315573787 365064422 301639265 197649333 204782490 641976508 209965882 976310946 758428558 820516109 622040491 243979721 543959843 331367986 427461487 512292460 329893654 734800165 256985425 900418117 149672290 371973954 922591207 944801006 427608383 929473831 484784556 865711239 790923552 552818439 227518137 581086811 133021471 172197753 863732847 402831958 555815953 158885541 147885150 636398926 267511629 788571606 198858514 683187813 636760262 989063397 382168787 975952173 909825430 581168598 188742452 909973827 708646542 831605538 539450528 865592711 486368725 457870155 253568921 540470146 192346803 675612077 390256823 994317526 573770179 650698399 382651913 726432747 772656053 657987728 270167253 145796251 981438657 372692497 588171046 868184041 922421218 147874015 947103705 401544484 470487899 229427033 803765647 507964744 219450577 253839760 365442687 168022571 799303386 440882515 304028751 363114480 842024208 621546955 535700648 175285348 588179496 619259866 992634976 181448462 685029947 726258732 453686874 201295469 565438654 468586503 741810981 341429894 100353383 138420863 413721709 183321898 962447478 226470244 741441414 850268158 634934951 926671731 280509578 475596336 344622508 637110819 346932151 389474092 972133729 865675914 818612917 399623088 798778040 505439876 333923595 688875861 417182222 630180479 346826363 390783797 463980685 947012228 757362346 665330468 671153499 538536953 586749481 954359811 101072202 683501990 243603752 385623163 910973002 731195601 785423436 200432852 894815206 499718201 111905968 555142965 615956538 669968105 577554590 680602271 863641486 489340938 142065850 783285636 980692815 632728999 887770207 673426388 161741380 964681425 796325149 990895177 728142289 626581779 735996649 637963180 928846852 955056771 479178913 543868448 541581447 411060006 558526398 546417477 181586893 789374316 664160905 191852165 183199040 733631777 515928867 844640442 395454313 266049613 260579514 812135630 277163328 710641585 334541827 758045755 687364208 965796628 686985094 164257006 866475713 157838169 919703041 115049936 829891044 207759150 574087192 568291065 136178552 954142155 557988907 622223886 304386651 420822723 421817919 607385803 440527422 951044486 804456670 375185222 773036217 346300905 894577661 958022300 855357096 812492024 651899241 867480679 638749136 453794814 279431421 991780416 458759031 848095090 668547532 359633795 396203995 920302080 410973957 724820789 906234376 977927115 950254386 856434255 175939947 916911576 543916993 783724504 621392405 394173494 779597541 370368967 800638093 857699293 211088230 642999206 444153810 252318736 170841878 241402945 693845456 464168685 482552510 702012441 373497236 557732230 384934821 757459978 232843440 917703486 737079250 932001199 310753289 287121426 953008192 154851874 942043979 109417740 974907925 810042977 643793610 406560663 372113894 716739672 967517343 320524353 216263797 548550283 679421277 319705983 537899599 878167728 899088479 642867053 205435490 706583622 214654434 994330572 837518581 645695004 816759994 737535533 198094703 308965807 185563577 336147040 743419405 333374486 584461043 818313081 662129111 718083296 269705159 876503164 432933643 293834026 709611551 288908690 583619187 768334059 364134438 623711657 515350072 524810396 345312789 319044060 326558951 643508161 104426425 807648120 543012430 355146564 161365002 327749697 673098046 201955823 256979690 932875034 624793427 710607915 939511321 142074275 197543827 905813285 292993191 748791517 241134726 412230472 522993673 471211698 947165100 109173779 872738604 935522422 576627892 131716831 905789796 893973880 867389658 700101377 373576063 798366248 907210016 772938161 967577682 490873830 283273909 665569020 881229320 680262478 954218367 167105501 753770506 978036494 632940821 664313769 663540444 214989281 571792916 872755818 528200746 518869558 916825794 220494821 452355872 738239941 165454567 663576794 744714926 971160581 237891612 211711717 873675851 845262531 740168220 680422497 591047989 679459552 718684276 793960806 620885835 579260428 831626669 955358064 530481159 644900310 822396816 496376822 569027992 181356616 655019664 127845102 193028261 397168143 909179347 764769165 446176132 475294963 660602494 874157641 115709732 125049933 955866041 191627148 705848240 561252315 558445467 611926483 755696614 757278799 271426595 421497694 375333015 686275156 823234513 624630084 952299573 450757453 559608799 587961165 738480102 396359782 974831885 900414487 130984763 739967123 532230206 736859950 683772340 794474601 842435333 812252416 733079286 762582712 321176811 811577689 339520838 166681662 539443534 701250141 116631369 409242602 528655168 995744569 859198334 343340022 401756257 243670115 791751925 591160405 767230294 841539135 494952788 791053474 235600195 418056723 919402922 456527555 315046376 610782310 642098161 188926025 830130755 765431599 600959420 213616723 821472189 680488984 947025140 474838936 700760508 278395085 603157204 228487409 147624951 544468582 280489744 940160521 283362571 334509327 245149628 946618165 705531916 823913065 194379686 371289300 924864016 160253564 616123601 132356093 583569617 473796655 789683152 283446274 409062218 606324911 617524888 873075514 440536151 273410576 767718166 980695265 989412155 180385578 768872661 808441223 114587051 696298489 133678213 229914268 619147186 441292002 197302216 231441834 983071042 367741986 609659414 143448885 764232787 839068170 753169623 816251143 474328786 137913108 903815916 791409785 517245736 722754845 701005271 447179083 362907077 661843744 216968764 443384281 784868524 936352201 145571029 499741102 360919917 361247272 444606388 615356521 838220799 798100493 467498960 865251108 649805349 443795321 924933309 307378583 304398172 626952912 750774812 521972792 646027374 103831643 707428385 213778650 973547372 961363447 234980520 713068398 839490219 969035875 789437857 208647016 273903422 571795673 364243618 709233370 449566066 690906919 349952899 663893928 212811720 646732399 152090067 732711004 716348002 522567307 302573806 338308097 592335964 133234803 428810911 675332078 550894842 178205460 812967054 694927091 674921664 838341238 783982048 673898969 338772811 576247830 329282958 217999705 698575999 744069672 160133722 289088214 763622049 723392682 204534391 401377783 585535427 962639832 326276987 630977877 729982208 262831381 199593863 285643627 175181143 427993659 739467558 529002816 692017426 926412641 905774186 380941139 483908559 726070191 575541760 598361962 612785955 429999423 738543201 393671533 457867775 460540221 798844663 982673667 351687777 398870217 817753637 600811682 644111725 722629415 902240628 601894917 538107726 494111673 177274694 653683934 367878678 865465915 313558765 672480546 460663063 531283754 755484609 139388433 491468597 720836462 498793660 257925132 119226532 692904925 175162419 237634959 249805799 800549769 922758484 382271396 949030428 612287074 760928995 354112574 680831409 949130519 310351935 756652310 491419812 697549646 475312666 759702925 535303729 436217690 552115501 361543594 915644403 279523078 445050700 949016707 322232996 785658885 487249115 341539789 476250607 901694523 444374687 792904449 772750280 890560395 156286934 788568908 500802085 844823684 785513053 158440736 884749239 608440912 208076091 707910673 508458791 844184290 508250276 550819894 285524883 351013165 339741398 246486124 167140662 499579140 392653493 991228692 756251448 106833221 329841559 686324498 284523289 832421722 653334384 841042272 418293710 320259456 484487264 856685909 665450493 148722460 818355821 523261847 106909536 103842181 998789734 577783696 462964648 737036987 123000387 947610724 440656389 136802124 892767690 349628093 566574946 290705289 793547594 397894921 752094841 600983315 284723742 892998280 290597640 653801494 698948925 442500672 293028746 610768723 172962434 578175021 145247596 440056509 642416211 384595020 537091639 288594112 677914965 622650683 935606665 623025600 272391858 678453934 851454780 495352732 687779106 547805033 465998797 171998723 751588812 238621647 200800157 124786431 327442747 688384582 214723489 358291781 329919219 487630733 500655678 104383922 593395318 897201296 470672526 170738793 222194060 136035865 377898351 232684006 332708810 394220788 276102404 756005904 178075892 504213611 905400917 816338052 459369661 413823320 577701197 608429200 459484016 650711001 649699434 833598684 234191588 377275995 122390392 398808999 810135087 878488770 599804985 326925444 521416710 947176490 190329072 812328496 591430541 403945406 473829339 680389206 742653953 347668048 736817367 711817020 660733502 494748480 933886225 396810216 732875534 349725933 144107435 827680964 354756078 727531976 889315427 335649029 790825628 573916248 597126057 431399477 502049111 320555758 270597802 463582314 764417722 756146926 980841612 811838990 645212573 884232089 766818138 659288934 775041204 115892383 457669837 127961170 398298557 533114603 819568503 817433971 307481620 142619621 661333420 696957437 270900539 415629314 492737590 499988208 171807695 408121655 698421072 867878815 490159789 760352421 329075450 458869544 428772650 930623517 639527095 658445222 880001185 150114629 933791574 287050835 884534517 201353938 575769546 766420669 228624024 766085181 712421017 803469699 363718811 805251557 398685393 475500992 115859069 686372344 991626594 893206925 645017524 277342837 460139765 546421389 937597822 656202088 128639458 434635134 441515593 945522085 363268999 776898331 725648189 217997213 993359583 973032429 761081397 918136993 529250804 684359653 634071111 577331272 425121531 345575108 241887240 616012145 111323112 189019971 815765750 276501511 468295082 254810856 511915095 230654482 476363001 839532064 943735155 705054135 703574288 952510270 416737593 378769372 718680800 859353470 111036975 867952786 854265772 212347201 233784388 836211723 605692929 561163725 164378399 577477033 625839223 415421818 403909778 560614747 133492949 973345593 637235003 753918783 452291913 447933892 896049393 956494920 404804307 661166714 427558833 215901872 346050037 898167265 908662065 788046598 817149768 713794820 704585221 884883596 994536018 555268963 423018466 469141891 537467351 539771165 837075356 106373624 531622857 129934692 744606561 202743632 299255634 807394738 912179602 864846279 271772353 638920123 809211021 422087738 972434109 818141578 786759945 493966627 619000028 555736530 618375668 843870932 668699757 192831552 506628612 292101763 800589836 688478004 650160958 360985968 359397736 859194168 851865433 491755639 253991964 939744035 783816792 284646302 281085800 973028061 697605755 114410029 117885218 167441683 295749638 632841840 703333167 678372524 576900487 204875936 932397274 761518870 510849048 821786587 116324441 179629997 400437863 876665465 213914542 623870046 786954422 779863247 628965859 764307122 368154229 508077360 512428426 716310271 878875831 430732219 318386946 124166943 636485800 252059423 432996046 226906469 629748558 966812406 719256672 593290706 244513040 531683241 558410255 756270762 761203147 140927891 696085372 311327498 949984552 417899359 663143058 718961013 371471833 962592451 554080250 501658998 984929864 462710418 336153161 296983123 452315359 502045019 765330677 906639852 416073387 144463234 106473043 475187048 420183579 825515432 403919197 919961725 373693702 249460896 298439700 105589045 236428918 274439854 966761902 482063555 257570236 283216128 984361969 726537370 201293939 683443704 137342543 897064519 509428275 216419741 855208692 322103982 590444899 875800767 519820558 822294012 693475154 201639629 258603787 839088851 685212233 633885972 536132730 317888848 340158321 263391580 694344716 185146983 369616331 619762018 595938510 290354663 970078315 871430253 775697856 787142837 855233391 761924155 384034692 325804107 771416833 442773649 929677563 957179730 418347205 509199358 554232379 881038862 751588228 264124595 663545568 587948765 571704509 781852979 114556192 873509861 141911579 117487211 461353675 870433798 328055855 718765043 643911461 270420352 502953576 241530321 263745449 306646790 993124197 816880722 167718704 902281333 357456403 459510942 361344637 537395501 189497435 520864123 776575112 390470686 668109545 194698712 231340727 127112691 388821536 218815942 158636365 117857348 732822984 283356838 890050654 454187832 285566107 370297075 727267609 646214752 545251500 721866917 210481901 889818369 435704794 888934945 777382465 746293214 227463149 355000230 875997120 554487488 387922940 431069083 424001358 754135654 736648654 181756773 486199366 834026991 188387708 574263175 452385180 453433229 397010948 203527773 968018345 773742741 578950528 387926982 885414737 968888405 474655452 832689656 522334295 596561483 610527606 905100039 975629081 971961428 600123408 672311791 871939826 981474268 370527196 864035620 146099997 290524978 862425111 145029618 226105655 704043965 134147220 829462591 717779412 911404482 694861878 290628308 815152093 900919415 738062504 495014907 166192554 783639764 425018839 803499129 756268188 892964729 706606508 681811151 701254556 119876721 598548681 988381676 260032687 863836081 720402416 510291420 784788410 974775609 144222673 493210481 327089814 869414336 837944877 884200092 199625369 282307818 925447478 131550237 187073336 425180865 654705152 226269981 903671015 837706990 800179742 423923468 430855973 880372006 918846489 712804591 703476150 642898775 169816399 641898035 673424256 113601016 332591123 556508371 602971555 767381400 988316175 721889600 340341574 372257122 386720108 492693002 979292316 765934518 798056778 795970760 810094244 484611543 690564750 250738943 352985333 592962720 598065421 754413555 855627611 405721866 306898100 732235825 455301704 338328037 739864615 643487210 847546100 848196351 412343740 455549236 870292633 613631286 315661324 247219575 290723211 135880049 925983018 795925220 517691472 590767123 973656885 831552654 183428589 571203905 289925002 762472705 745248952 457966340 454775268 115901357 279269306 797274864 385707219 270361601 754008943 358941198 723793068 101222375 468583449 963201339 246131438 837377279 802960648 173844979 164930429 918122386 217320658 604377205 615901570 633599666 862774172 493711124 375683103 382603652 640145667 747842676 421726367 199307993 644897075 708623320 229526705 239276917 707805755 861711506 468545138 920964414 921417517 772981593 254768604 829706558 532934496 377433822 395696743 370938874 761567335 208117279 849303059 247299720 933928437 147321672 705815294 882132887 271653791 376761466 449252833 951904392 795501267 306296184 365115926 925746683 867746656 412549751 389825528 408128279 286126428 472187537 888103983 298935996 408575294 482605061 845479069 979788269 720872017 756102168 668994327 331258657 538963621 788324298 413381654 626095015 739753909 442002540 989596241 862400517 875841391 792116344 755655014 691449723 556361936 902851564 206938563 294753627 180225622 318332876 247187787 277196506 327757760 300732920 565516070 111209963 215811838 597865416 457749274 651950995 711434525 563956437 946061875 790792155 744879781 742157203 807458010 372602768 795449236 664122477 663861994 640601562 520743957 395390392 792881738 266654347 639644491 404239816 841658734 564385057 273241550 736081145 804703490 242656836 107657402 654356007 355509800 824383289 152479712 793044288 729869000 862083518 613448537 267206429 584086784 126854659 901965959 184533048 100237568 199612178 413989566 479373926 349587576 293265021 498425602 676094917 914078681 563295319 733314541 129129449 161441247 237077886 104427072 494864470 738501744 784634176 618352523 656289708 668133788 429890007 620154990 549337275 683438780 463355429 111818543 774229746 497910587 880776758 387396140 543775878 249176257 734798394 148394425 393049285 257728842 817076518 187832042 820090780 458591025 940549199 526093974 264581519 263483424 899163467 155331036 244642307 383297945 266477948 582460625 449898565 599917696 551158124 916193033 884019393 118500790 749970932 596969877 393675355 535625629 240895898 101744275 415912899 602413135 582907218 694949518 804010453 161610371 746589689 545289274 519588389 451762958 892568117 336262386 595100167 630756706 307452122 865554724 341621972 372394692 875376229 711959193 905537354 495553261 330815518 562672269 177207373 527795034 370181494 482521823 308543888 606374725 309499144 843162189 653248946 147773835 870284173 565857423 723653866 363275093 796626756 748657693 632469240 353459402 908450993 328167791 415257514 542093319 112823049 576746237 853218576 275933735 248418153 440111119 810086263 699213392 332464739 254518123 906883547 492616462 230012215 155210727 166066845 298964022 313355961 346408851 165957884 594123488 517573510 359508627 810574940 781796024 150896730 948672168 545367506 511368574 923027954 157328740 302558673 257134870 782486708 330682032 586850986 990497759 701141789 805870455 187006262 375145806 875184133 857047981 167870916 808339132 196137006 310415747 437038163 330242382 514375969 972153848 878083137 516540006 210613383 445475828 122384376 935926588 288095298 919231939 221823098 297834283 355076693 119518966 162541090 255135369 328258029 906704073 602688991 314215300 122951396 993971898 224279224 432626021 527892257 180461215 304955683 357011146 626868842 637759809 171567528 142757684 491524862 609575131 363631815 916710455 271555465 674419895 567471588 457171625 836873453 392539495 197837700 678705511 598063794 888082276 941274485 339691250 844266331 141456723 330006162 512678889 805737356 551533647 323833814 382982512 244297894 354875640 210528927 980927704 747394222 165498221 539483675 832556484 201881305 936569301 418499095 109990019 866191636 100214495 856094768 375945895 999182864 481849244 818061048 890502435 816098559 287077671 689011632 387959216 372835174 469078421 420637572 213077738 389271123 617255749 990803337 311844934 930100071 730053139 718550525 181215307 968796644 245770235 681781211 242256495 963655925 949890587 913561837 717197188 907647538 912360575 688099507 178459568 182735995 663103330 811188698 275893777 672657813 270058472 540491204 422911818 261220044 796747254 102939309 832132402 303343884 175629591 174787566 597010676 957358347 301965758 435141602 361557967 321826838 318015422 423482695 165162606 518073928 974585151 906138396 169425871 600562247 805783036 894769176 956822036 223625240 264352699 791224125 433321607 496692891 578468714 444562146 785341158 386777645 702610112 694535632 846920655 984544654 315229441 487028652 903201597 110458928 997772615 601149645 668245631 861931186 729803594 917397729 289115342 894541453 570069588 455575087 791776018 149365638 440786458 909067732 413976303 807891892 205130394 530221462 380818207 239272487 737898073 773480212 344896233 266408350 965208168 508229584 939911129 635775247 250724835 624197144 490591399 604691950 207069294 947178256 986228326 767443586 324688493 636782140 742492568 403926993 963248876 581901737 432226208 116829954 610097256 449752620 785507907 605036421 167321184 948279619 510314182 720285048 166079123 378144779 501556668 263872859 722247420 146099217 712051716 860127357 443188632 744103662 717349594 393058977 929258120 510408998 456279241 496842319 427082521 397763681 391516384 864192319 501091812 232570959 450324921 766096231 136426037 294372092 864360734 862046227 574392257 333957090 195923979 487836139 261355035 636930816 732347903 103541121 892713271 474862557 895606094 828184747 848098684 761244899 510562225 589156759 261781355 967122636 174180218 668013643 394333081 954378896 128140524 127799789 357382861 310191220 109631613 210263507 548848954 802814063 776902678 827566726 353776822 778834215 545222140 247475025 106469847 365182431 873787158 443583091 653017391 726531054 657902953 357920942 496864110 551132152 367950108 147995475 517223170 365067986 168349393 786038636 512488446 275632377 154537313 670113465 713215655 865155890 768785665 363754450 276063581 783790812 442942475 787115986 495148246 149879090 417244838 696777897 936456442 927613320 625959278 357143727 991686235 641954280 380146116 851078941 175095280 169897800 507932488 240035293 213920525 831922696 468381547 401877060 167401873 722680999 572941285 987336404 540859481 132338661 315411683 382188538 660000078 639721234 869548509 256134350 646552718 260064519 703934950 121301711 881208580 260997073 532307659 428042260 204535670 290501151 548720659 874970259 820331288 100088065 748459932 670786383 597272113 737132105 143140311 225881812 636190999 765051772 234879750 689218244 305209349 286492792 738958982 328496408 278923920 667241950 388656623 299374713 307562942 408536821 264444275 272882409 394587114 191949747 299911293 891236628 435364435 136113143 918079189 603914782 457770060 138493842 828738456 727304253 630798148 664315334 888703114 257389596 768057967 764061339 992234648 664795399 498805294 439411078 247507900 771705655 429648253 376199774 816763028 885170372 937377581 403183879 829087128 951316350 954352671 270511307 313401586 184331435 800221953 351127078 935797020 683187172 701825990 395401901 190063276 942357905 388732946 812262760 112573497 215611690 232732633 816098740 592593212 853765250 416916332 218210456 828265674 342164024 423095395 587785142 370023599 873426488 337183298 248476018 414237956 777176931 100234200 953802298 737486255 235337619 392047103 544721693 895420466 514271196 856559027 975913107 511438503 946406775 736193574 936320120 406877335 465017639 798915022 741903339 577228215 741319524 638679873 239983457 713219949 316429653 479329121 676033097 127499590 561025084 102822344 785886696 998743706 800660420 621795409 360561856 146690501 586639177 261121561 696145031 271936839 760270361 611096529 396946774 280372906 831319995 970719109 482336755 748875831 935811204 687024993 252732940 724497542 654332625 536311572 257132035 730295457 251160867 872340191 319836616 456250291 907323662 119121379 275498109 134991286 878709040 360071781 147393983 410781933 380851472 713949621 508773447 445152722 983113344 657438673 721263660 505237424 564369850 243427190 873416156 646620512 514711833 696491890 646575782 800152361 930205755 994228217 303402165 615504475 114503353 995608614 895600410 281989130 578833959 198663487 372476576 586161334 749631426 391983690 803639292 376562338 659973826 822328397 629343938 604995142 401669403 158815406 849755660 756967743 644640150 957913928 823284479 394898080 757742879 810033862 800684754 544551178 696377718 703132022 643047817 802885266 620329363 869282532 600161056 877744817 316983088 957089234 132738615 124098913 351412592 805607328 332304579 167564999 132220050 431943668 382608544 418604833 198308661 677906675 363533374 972935779 501472661 865897505 909145518 922087968 910859920 489171852 381784453 504317078 310929014 820220909 727657210 153751518 223669686 503839123 390359200 969397005 653322278 428983323 808354607 404927583 188170327 973696667 758830147 327064704 685542931 510221849 875119155 306643722 567777823 607592723 891778492 712170996 339607501 149817407 941933552 350314169 726569129 719973159 547468262 913416000 652884302 384983028 269853586 846558728 229717257 385930093 890888999 277840494 614096363 427728138 416461383 482467125 203098730 938670407 841112560 932945245 900208032 157580854 720165895 280918162 472508156 385655597 727941577 271674987 886953091 523061841 291972573 491149980 179971781 370958775 800973543 629020958 129865712 271242983 932219072 146487361 109739360 862899651 265967925 319039300 705605674 935401121 723021085 749344877 687563953 813298333 489539938 577140943 939809663 611567085 456310654 515204825 931126137 404196048 288632106 999757104 359031648 349896264 330135946 701939689 367108512 484590223 884890989 331994924 130888164 734776618 225432768 221298510 487295376 144653333 162864068 448945364 452524586 548256419 502771399 344931860 827681637 867966457 769227497 366132262 101074490 902996409 164538247 492213117 667902998 486728386 518925113 970884807 989273341 496367293 932549085 793846918 382643524 534450658 445179506 501536820 360279291 180859632 959587966 100025915 580515087 792382976 292905122 803886354 228585222 184474921 494367550 790695173 891380464 875931514 480517396 577501977 524658946 679872578 439117882 922881420 216712894 852230953 506782564 438554738 965643207 579701252 246186413 500619415 336061481 225594560 442351377 321800170 432737272 425401111 589625460 771455297 123894787 464150519 346289334 929937362 163120360 785454578 158753150 841948597 405525243 404515749 460864883 723677299 561952319 869386643 587754836 146421120 130248225 719405364 221211289 479121094 640355573 503383720 482306071 952511508 287089199 694745029 589497875 733753235 418141901 579591111 787984165 470258114 907920568 613428485 646351555 645817216 401217152 377440337 405585840 554127475 857352357 354502984 664889248 322004781 988251842 820763647 144238118 123623578 345994314 419951005 147640917 332323080 750577140 571955861 381320642 384207489 127389808 761042620 671261650 349485398 933857904 327711707 795416533 996050630 348913310 516831145 967505542 271057624 669549468 113525029 928822276 200889748 540570865 780803418 976020610 703060593 905997315 470016559 946936786 437729878 296170964 388452384 883065611 184172401 330519072 658767404 167450086 161448847 556695008 440614531 694205953 533537323 495781273 830336025 994464897 187560884 617007174 328364193 692165031 878484669 102028889 485256992 439279541 582276520 294404599 775664173 477965358 612922523 156743626 443257532 216568042 708594869 291936616 472200305 799340073 226508487 980188980 828837529 867472366 552902968 707515418 898049674 529847500 142442934 789686027 131609303 830008579 130320298 792475852 731692715 250440892 601808219 321937741 729761389 774230877 183424165 430764994 878819787 384205577 979217732 631805769 389254728 647414003 579284515 458565509 619499832 182512589 334503870 702619125 670176335 562621859 295948961 486770099 161793581 551130130 108714606 674221644 361344866 834691330 256919408 606054662 179642130 908461015 639677702 352831355 388643063 194011887 357965617 663477665 475872944 451350175 967651492 166755552 810284807 921243968 812764124 616897318 732130814 719705187 958317021 225422658 940706206 296925174 102672263 847792142 356595717 239303489 475003034 172418094 639927495 790179012 119021611 899196452 337880651 185558937 479949029 525485243 340298840 896200091 263480288 816903800 756870699 608185423 906590704 959853845 353602358 547278878 514550383 658426583 939760283 800141233 694838784 840676860 662353458 783356286 310103442 460253075 683226528 499916452 669918359 359934550 624977546 922318719 824749224 137229291 728726695 999954393 139318729 847709969 150279481 675789609 995294505 734309670 868565096 967923007 860270159 867273517 884931743 175387363 378246780 337266658 504631423 103926947 128569239 480359265 885822357 893942877 411825236 158529436 836275512 416991036 360419519 192242259 771309351 491112810 365053445 566857866 846536455 303417733 544674185 369834094 694739130 668840734 113822236 753437760 734629089 339774762 820425286 361865413 850843336 911989716 194200573 725834542 185561155 230620235 520740454 455504669 988140080 884150950 460539296 641474035 911310018 934513098 409405902 427375997 314026848 926965434 942138070 160442633 929429365 802890006 627738153 378158068 942096587 665359388 133697895 711046124 766785141 666014874 946924477 611758648 789475181 872412547 684246566 781202387 779482082 320962966 329713102 455979083 838633287 778684693 347722123 476968043 950968199 387299434 972674838 927127665 264159835 109765409 859397929 890500704 475778742 655988777 341620533 440655735 968420187 471974458 760079409 363047667 596710568 103330916 823723978 679360809 325860006 715820520 211090309 411673470 584991174 204001249 255531077 121833832 580926070 581598691 176344956 401664827 264184081 482560536 965852427 622437091 583972380 824160524 641356572 398699647 199736061 888044382 434605824 755860081 643395548 628647411 566989376 939448647 659624925 807934957 872058485 107368644 656280774 716876125 932456473 707079026 151678952 281687391 536257637 615637777 137321462 847725898 678513185 980275090 217646959 200122547 354738948 455296201 495795837 181279768 951046455 586004884 432174572 594118367 324442366 892007509 441681317 702748434 453300080 513335132 890517490 241351898 522220392 160784457 294750506 899568343 390690622 239856933 405694689 108474620 938650116 715065316 627230900 282275540 200629343 589386850 294839239 963475710 150911407 110013916 429042361 464668448 816603336 302153731 744814769 988236839 918249904 840928860 649556138 631001654 261408375 447226002 737204665 340781864 474045610 686560692 691870565 155369355 870038934 349228450 263020903 750029266 801414464 268927921 959112637 381338602 650026212 807296244 769742680 815281669 786943381 785765470 356955994 874895774 890487530 895469057 751195439 347671423 468579349 718411917 955694667 911560427 440631087 279535208 532120159 666352768 796234054 898632507 621267375 658833734 773806870 153068554 410048962 353486290 163863440 339085653 432700010 725627297 654240040 532429719 778319341 586421067 219794795 590627496 112981027 704206318 458225668 621361101 127667780 333456265 331303825 789098732 239961900 236712864 455742426 677958327 800788568 204854916 137988264 756213305 799930602 123361793 163409421 803088980 702204339 987510547 468460593 485472389 233594881 181821943 412227461 163835649 121588352 835446166 137053749 174968742 474431483 170613302 411626999 549501776 936874972 426604423 749219660 612115078 190178458 357039063 340276541 252201441 433543494 261938572 505448546 331728327 571994848 729995552 477093502 344380618 883581328 566154858 746462261 339406152 912987384 420370920 272289646 525365476 562719298 825038831 902489319 832895550 635045004 928227910 945082057 130063960 313445269 176820266 168850024 754000999 145171642 417148493 238115186 519810788 637815611 576263368 607834321 959640162 978301853 401356689 414631966 907726879 203044108 646559261 868133615 908817230 546294165 673023063 529409333 930340962 249513581 737402677 333676516 453018882 703024220 343615083 944702807 367945040 632461181 945749430 888368085 491700905 755732028 773816610 391193517 279366205 454042096 479221420 632776192 590486770 239356465 140158529 613029819 731638937 340096730 638913524 971030017 450732778 615910000 425813473 984147204 644893934 985131711 293360404 297571415 510660118 772388087 566165948 442358800 578591379 445130249 902986440 720143907 811122233 779992465 678917981 952792862 119326967 860282627 490058982 338101081 850498648 736955112 345783351 396393542 925952740 239912456 758036280 351300456 876532377 234966467 578175306 963662557 163425189 410617772 513489216 274517880 376732390 452035228 937449008 293549342 683078926 584484036 644089071 374722287 736114811 201745314 382115373 445077694 301739540 480817916 759675705 935328353 124353206 135502076 919843598 461675282 277563569 838100675 412757821 157089347 512410988 744455457 329690313 633691296 904895008 997381565 914332805 583292706 403334278 154571076 634795000 520647991 691102086 966546183 307165692 607068987 137920659 285487718 951399526 876595393 418655988 354988366 178189387 275319172 539606073 150441202 725775376 395968246 318329524 953850559 694729046 629440816 429448656 183484780 291528572 978102368 981769449 109143343 872668117 716817458 825697078 139266795 133352868 863610335 115458925 457249621 754834943 488581777 291595092 128487902 910979763 348283569 248399990 926487492 672991970 360389491 133521623 815315448 557968150 652212904 131909152 611566630 485280060 863503400 483493738 789478166 767816913 857372688 912512054 818853268 405793487 390088965 958193315 993952347 251298631 722015935 236012273 391080442 546998597 777297658 187834199 251885126 831654945 100816676 669345898 644774509 969019058 486521762 579389966 556810682 717658923 856399527 218633071 931734226 656949564 852987139 577052873 773114178 752706760 153640854 628136795 843893212 702467804 825115176 872323026 266707433 528469382 280263157 752956698 412005840 573200385 887248885 420417929 811668595 149299487 471389316 997156980 745028575 648822430 696287976 989788997 955203142 482788160 747973381 268592537 285505826 871480601 617619217 617026860 834826894 108988042 339696382 908383417 300181394 886575991 568200511 593825343 662126468 195632633 522069885 206588298 147926671 568415046 716407660 712309971 574230391 480846740 619729454 316040291 977479438 148894254 196147742 198710071 748873247 797889034 684759068 612516012 412254599 336404962 852983164 994353773 198181104 244676794 787180437 947936654 273850335 349171237 225280864 144233253 641987530 650465296 144400380 985582073 877594662 465986877 379987479 310134393 828170112 153943492 994597748 484962943 637760824 489094453 401262135 950071336 969140624 256763282 280234366 406547164 778844033 932409460 411155588 350330357 875696503 445885803 942885968 158475680 559804468 588501462 300165514 836083821 600560780 372466799 683233967 386341776 547704324 115696977 114327344 649810966 353612531 105180203 540396158 623540528 383797983 174833346 887715956 766701491 763428854 259320192 527859179 933099117 418138032 433166852 671025615 179140501 573506535 143696187 894041750 780259770 664420075 611882728 815877066 516374311 356791390 192003999 976715915 758085641 951776941 991335358 105986119 511873196 961930299 379100362 509410546 752002457 445680845 116783005 960117442 617142900 791318725 834264217 727835063 739512356 677002591 661041631 462746099 216962489 259083942 885011523 552300253 121784383 174371209 986894184 900188590 266455716 728028560 228907951 671521523 859441711 425220284 784053534 340194899 382797173 994154790 912435655 587823887 635992985 441349004 799310832 131838080 365607590 225204463 872671774 806850357 811367745 807520650 471143602 157834498 346121489 750452092 828522609 396889993 726000392 834470860 503339212 809718089 617947656 733476433 183927835 503482814 183851628 108288750 733099329 943470095 984429827 326572907 626602718 626887146 258312197 652338976 691328051 957633270 146567575 840211212 448301184 527363904 743718368 670802455 665247481 980804153 329141784 661401997 379506907 111030832 455336604 771551898 192342762 716191859 609615715 855103173 497109171 163242051 527711283 393471020 237820409 247989650 926355421 956317998 109937459 943419547 852072225 838742960 894941862 920117394 378656180 512850409 324104565 282114581 671763192 735987649 839038116 801642836 181877284 656200915 836946120 650222444 528825804 413018803 134333108 584418858 228100487 470561897 134663924 252817958 451452446 422952916 347688512 985735783 796165212 704688463 939661827 907963258 301531407 695928320 330691487 999991127 588859213 234620909 186433334 188378945 949866139 946072144 685892609 326864312 951378240 644410233 858970771 140254673 649766633 850640875 973555366 959756628 975209731 454810321 781375119 961773548 571743904 694917669 825078969 282762666 115753583 388743616 390905688 761484857 408578125 211758866 205604932 531494539 677990560 676538471 477162540 892097296 799229229 512980573 531405100 567926414 168818851 522873615 923873358 746321726 348708051 404470403 983790722 922025178 979653716 998659792 231773428 593137194 592726234 619921382 666316910 921518911 150892811 456819391 463257419 111317244 158685394 774090322 153866887 710241038 694861048 565883897 680601139 271470502 523343172 282666934 163058662 344348861 885999253 982878497 466936065 431120263 941656888 278848651 560361447 953191481 831763448 908493578 645311971 475625147 663665590 376794148 733811640 909125976 259841466 574496100 592163468 774648667 271470844 992313746 447891665 324233166 756010765 853908500 280053634 741435463 331322694 902268978 243893014 281601357 885911110 536597219 408869986 195624069 364199432 524422666 888227803 602551329 604465707 634853889 486390087 178294635 602123908 256671913 538742537 933564865 744383409 399173249 838249128 747300233 336482500 324255600 709144265 451281727 163315576 354177301 845079753 730197039 110241451 353388575 824323779 130045771 228578782 863506616 581374859 774411954 368867592 776675451 238200032 888916555 560559534 158641423 291971240 129001638 962027509 280814611 288318983 526472953 728605011 338595560 170800046 913465879 980758240 372907035 762229489 700813233 868287580 235787444 829143479 891014407 941910121 209629591 330574590 471786586 887237365 465446006 178086799 931874282 892910053 961380426 526172413 787452250 994171504 830117216 949490776 396103224 723088244 529190508 745580912 388308696 579011662 509503936 171454888 941277448 647250931 366405559 788352358 671376756 459036482 512586866 336015664 356224474 687277578 453954398 463775905 269083096 963528697 661085679 826634987 909070517 189085526 961049658 414717359 311760585 937682813 776058738 230070589 873166267 109747567 383906774 518921258 222154761 548003973 443833546 895178325 351834090 176382951 173792086 417812171 176205565 855215202 812332229 848345549 601455666 562022111 533844055 495708021 383543465 277559303 988280119 501605911 445171352 740252824 919939428 783210613 861182594 357064448 255062429 736956868 879697540 824689507 863929598 659869988 572778310 976518475 871425268 118145007 969777739 573957015 562484094 565188813 787150376 752341886 666256993 326260468 829021865 472581727 671343936 910539234 926914609 160964725 794329497 348927995 317282701 104159154 109018562 884058909 802056261 642880428 181322458 441766608 896628422 393397164 500711866 529731195 194936854 261187462 818436543 629734541 520285194 428388539 957847149 563722506 319907247 271002247 360054739 971992065 976327507 865002433 840732420 701394579 822915606 800946839 637507182 520169241 360784753 734642304 402257651 609693817 311188159 100240855 196233927 896970174 154601885 618999085 272187042 621804437 362968519 127886507 214866969 262185977 441238668 797644248 955301624 514872008 517109450 537226267 623419812 174596099 521393210 839213692 507183377 514749022 727382438 789047385 474943544 780621164 201368745 770133920 187340645 333351883 612543399 273454729 639843703 182552626 988484975 113628988 524417458 986934440 748437084 405129575 238335589 602751052 765845971 337643020 414020122 126901343 287435254 705701259 415156528 326529766 937380978 816904472 807566218 874160588 383866130 191551394 194898097 691268499 230386413 920458451 714036014 352007992 106722193 896923893 658131473 573129843 588425979 878086281 182802330 821606542 868880850 202998637 280895920 875299792 918986698 706293464 944596882 866815695 926683270 560728301 342566680 339278317 774059341 357700059 664671060 504083824 309751089 991371274 838669712 936277740 831926106 647926042 829722488 489172028 148360379 214314234 568602136 278850911 701662139 398693061 712884661 606316327 887866705 409424146 743589225 854751935 892422024 522916752 510532423 271783732 332066099 710718952 128706099 591331187 349558380 587180703 775419173 254428660 542890896 265339670 577436897 985562246 365849980 917278498 976607405 988975053 468295079 881777581 894731265 296213555 797948715 159528564 282612571 680845141 986247512 199759792 967204855 731683057 698124702 354808380 604634984 387876738 329897772 548064279 375586635 292278976 102741683 424648375 392891045 793351892 885087288 151705993 746234291 252915917 317755463 563684899 378028431 833337860 178406953 815839250 851338922 436523434 691846929 315225697 639169543 228372990 848320606 533789211 826860949 587597390 352029750 791032895 313652182 121502701 671657925 251041974 739596779 692007804 889267833 587461769 105197642 722853683 387884552 211128597 335065332 553096712 725826923 328315671 706578719 323237218 703125052 593067133 669695938 664742792 719044176 158637331 913021951 141891199 534986540 857989837 175906687 334719803 928888979 839400474 491640597 745095179 943028300 339755738 613255089 483954891 429655899 902978698 826470823 863881325 858441868 591893111 298917770 440655204 806359825 340987439 731250030 536584986 736220167 773621428 921679506 284933567 185008062 958431311 321115405 462472549 566354776 698233136 259907584 571065726 853808899 889469998 400536954 181121324 243755731 612168287 290215995 966630854 527855443 286901825 621854703 339728633 961251550 458707514 812821654 937924914 613940001 996547149 864700817 943997082 338560630 803201918 984414885 903443865 931590609 392154527 203496222 917865366 162427980 183005024 393875344 466075892 208258061 885841990 252882555 845476888 362562749 225653175 124514703 422814811 256918650 231160591 854304762 603402220 215049037 438515868 798066026 874577104 716990122 236314361 423119795 160814167 527479592 889302470 441922484 547024487 224840883 791238320 980387659 623533848 493932075 603532162 656094895 760953212 938604455 734976167 853220201 838705657 360042428 724065451 585856984 775317735 293394698 192771248 783589930 320195177 438345619 558255745 265711603 207923372 897484403 785683606 312275795 850150177 933443429 742316919 775372003 258113021 361144645 380297819 581400990 787126255 121753352 597843764 907993587 590729032 506790478 743981650 166331555 535614044 830471708 735217335 768941257 463423038 975183321 544865805 362315725 214081110 360710312 373572978 490856364 137234851 807467305 182861902 126539935 949300558 137091085 390952176 107368856 378824480 610845668 634480953 321639520 748297014 137775160 788488871 732536377 973431526 925935243 152248659 351323169 650124432 249028392 596746307 380469157 339737321 433928320 250803345 917550019 244905711 749274822 445360864 635568497 660897773 604069264 262214386 904667161 259970873 863509124 847394579 344913101 589351058 571303775 940899479 723975584 459491258 388768003 123859317 494805588 966555186 538550770 217533952 959333868 911271534 909544001 738143267 277937637 661002857 896685616 534603566 474287902 191911118 778551192 994841012 974726263 370152943 220774114 895821766 270704105 180920306 502970385 452093532 705833212 663935225 681799811 392409504 648558133 828144617 776515666 717109559 541237493 451645400 393608522 247941920 394685671 211854542 710502524 765533225 499288887 523253778 907525106 762468490 801022776 731753208 880198946 256840360 324011088 712486574 504713011 284136842 996005901 960583617 741263722 840928709 895870897 508166418 984380903 319572505 604674920 382719031 288738871 284447778 435764760 735336090 884843334 299654837 996766826 303738605 934257511 769593235 652101584 386055655 883732780 627488411 462780719 679763436 868651428 376336262 249446737 657074864 527090460 923154409 635837560 263463708 668465883 318288586 352967526 233183608 440666792 249933120 944582230 760224355 980570473 915355035 561807552 243173978 766978542 337630305 485635704 240748026 483806802 691404815 391289707 933174631 345998107 808655079 340602821 752042282 362588052 434192266 491462769 324425772 146090670 848149375 585155518 224233487 277772944 112969668 918490507 393321394 482280278 834974885 605635374 203697603 857807044 341898350 297574581 599422326 280411691 903861486 972997027 254563141 501966515 962568980 791993102 955729604 967305246 392896953 115224698 483935227 640407495 562354137 710211049 586326321 890139194 226082260 955220779 407992650 235213086 478419415 102099441 481269125 418314361 909747434 605598327 412494745 389029218 827223958 478796108 288688095 861303892 467937071 471751070 251870253 494904382 991915728 813380726 600894581 409256197 556878246 761045877 719944765 597377793 206017162 851792236 442402770 348350504 398511605 849483858 134899523 754417540 914886408 615365859 334695020 471390800 181838756 183294317 519567060 468273557 404978908 998184967 249621255 648789709 790717698 248057285 203078434 258724123 604892842 170715491 150367561 726770718 369629578 159179839 724895484 100283813 149236986 138140440 264259230 630904286 792228933 618066245 803574878 715557391 304166000 596305638 777525399 636379554 570898990 227243063 744928903 746180648 308138048 444109087 400963587 334225134 827223852 670042113 121616825 168119233 696149487 656518158 319848862 941262446 855041909 511626300 640895307 138818413 773266768 727490769 238665607 200580404 583926011 686072773 134384699 272688460 396870928 176747808 659142728 538866367 585169584 154616814 512846330 336858291 202567197 109292214 727837594 364090989 476694061 785375541 926662168 401333329 418149021 980157725 384006938 781770326 285911672 877206605 507740261 168961930 144561365 203061424 764822448 255643717 843681097 658749569 785433611 876518258 189816313 554539033 251096711 647752115 256323779 612812680 622304351 151684624 995369887 634968028 945025115 252110580 607604486 401100391 103884650 692481911 845818870 171440025 881438311 217424184 768566396 408521863 147516445 604285610 741715689 569575935 207264897 643903236 476840337 347518234 521836912 677920711 756306458 528338469 460689904 446540311 405204120 527763535 175463531 611652901 944013224 154083588 923966804 285983257 981737835 152246524 654978689 127419526 109631988 684619763 461665583 554008005 519057195 174414245 327544657 294632118 783757989 894273196 597334539 713022992 718656825 309259688 349189813 308063769 277022909 202396193 843612650 493231690 642913877 664046109 760570344 727294729 775466286 936179696 570689972 618545501 793574858 611828948 556407914 497164597 138224539 402814824 696709468 820682230 195833284 448831589 194206378 684845036 175362303 349549795 129897817 133543561 473417481 389724663 300215793 350902154 418360156 960506661 798124091 584201319 383849784 803038750 615615298 588516326 244649498 454654808 419956791 954401086 167198864 829293203 956330668 652302355 716336127 535683556 685070613 878990139 181792904 532086135 234785341 822919387 542829487 593128665 347818399 477110986 335071381 840031695 990744348 767873105 153974507 593196158 703676381 949771037 627388861 891761540 781451306 970134192 369397385 140984586 372481575 937950815 546086360 871158610 957305987 411142719 737420833 263474010 517558360 832366015 612274530 325069907 603883117 229522780 492119591 179302596 354123126 768491989 268995993 750316967 909113866 322717069 823437837 422551736 174385131 940971915 173675666 652056030 437156922 306164350 434651216 767810171 711488010 385389118 737306798 676463149 867475819 805160887 505401932 304056076 317327260 622421073 393162477 843856716 706217243 558573377 396783995 207282618 762348474 256115167 469855314 907741159 391077658 336818593 237064331 823550228 258495013 690613967 969631271 335283796 952328978 896183741 243345610 322185494 907451988 904886268 942777439 819116930 277512071 625460652 812895356 537189290 981268520 587675653 781959719 565999479 207112962 965935298 807527436 904622944 186297484 843506478 132474958 582467234 334819268 976797203 301990293 739924829 722118527 362441968 435155321 343849781 708927091 153253364 294611917 232856871 225696488 678607288 373993086 598648083 119486559 188095925 812696107 172757522 749516531 260571380 659019723 808800201 636257911 779236285 311845240 418109210 396145165 983890907 740722285 327508337 925459350 368760893 353788448 259473502 108367867 250188643 946841157 141709535 627200197 693557530 310604341 536099922 685014313 763489569 322062719 176566974 155884315 877779536 891417900 189309192 405376094 428957868 620264075 712316151 945489081 718613711 176912960 501489906 249282814 357371227 391086247 309695195 160962122 143634496 440662061 472465424 968765757 170544962 803613817 250379617 831722370 879743177 997327002 975557422 882738770 521310671 395701408 989997442 894659070 745679190 883519437 801188890 911456723 197050204 952244466 728144153 298552454 743225426 222841835 255211791 580172482 761600028 495175750 205594368 290160989 352238890 589185142 469081074 576257210 936224059 824063375 966755738 359843542 679537154 783803669 270354414 754469478 896680079 891616350 760499778 153809243 657532248 642665861 164503650 596879417 420926378 565570876 357858617 739404273 652214329 191081363 681954227 482344112 369653358 406331356 895345335 666959882 896247474 874124667 409463485 113981007 671816882 391503233 931205097 944026016 370303768 122063430 690875594 493384108 483062202 144941881 154997204 597389988 128571997 581367465 993855432 105377746 774168073 383170335 606494812 151702359 988579866 208013616 840359654 764124102 961313827 665938122 898812977 225211853 437406947 611722007 512994279 109238028 742664798 652506007 330313833 655219365 953470748 327136150 399438673 278565378 234894023 757363000 860472958 374476747 949510746 924865333 910569909 552236315 450407329 765174212 133429994 960856456 249858617 323132128 709807608 892648973 152327386 835895742 480692639 382521281 496396173 567121803 464399603 310196451 531179808 842180383 135509345 580092174 391283899 581245115 746928837 895792693 734433822 631626521 640689774 272276270 782030150 121676863 726855017 439917398 630070403 703789069 176396666 474491765 142394943 848575730 843418978 449244527 187702958 456099861 893696177 379067775 239161602 508494783 460763643 754784269 630039298 438892530 114670600 975298096 658839710 514889891 919330547 719471694 527839807 577255574 998820712 511275694 200588668 325022644 443253767 608764141 556657815 250462150 489920603 813592483 768337925 982236745 386709908 967581080 966662737 359159076 714956333 920566982 246682951 783444662 656039499 857487350 226293480 817084181 240204800 241576229 558708326 857957370 818061308 959692512 853336568 258956329 196185161 613801084 108868448 205749654 143693927 940184093 483285317 637916632 773640580 590195152 928382362 953852057 420081747 313113101 729384578 245252562 710169346 968247301 543947985 592535563 859592340 911891518 161986205 607376155 484733839 376115821 618332589 243689972 424732948 888350625 907839356 543419883 255590223 345386114 477653140 767784539 380120907 695385629 102843841 420513872 343320344 915225377 943268448 886094786 987989265 913447220 164897960 707738214 883617552 556996554 315461457 851327024 355097846 256623541 803513681 985917449 402006576 710225128 850394279 537665009 936917242 689757920 597252218 765204802 403328908 700706922 129975462 660707415 847344547 497228096 453453065 911736188 656790652 919628828 317740994 373239293 287550699 425815084 564454143 225862917 111666847 993502755 273378504 768207889 417359471 755761536 587174589 604919248 616072688 944973970 790125431 891785199 223568005 365008704 726354468 157615148 450811286 300759477 293267413 552565795 641405389 209668793 199774178 230030711 845048977 491301142 608967504 829432919 593409502 871271523 620182427 332533723 972209571 831761423 930374229 867272718 661053727 403557714 798943625 274316285 611811460 592415402 520795012 220930091 755404612 553120743 139382801 642643511 882682786 564522039 845726077 611049576 920049575 285864053 325743004 685893015 713065428 152404449 238169448 651913461 957235526 913058547 873777014 697788424 405326353 771565759 352230072 996701331 786541144 172651694 937497419 243453664 630340912 292200502 550178839 190274189 242481440 952877079 924289660 428099964 674886873 150224342 632131797 899190320 534307555 386774829 980482250 413715909 185154864 803985002 308264374 389761152 584914709 768294987 183332995 837654118 867166309 217014472 216431001 768035383 615891117 462607723 650173602 170305117 651005696 992335480 186023946 550097306 605658790 191262304 547466909 951434989 354488450 565093025 851201889 111169803 732406635 374634215 724637190 581004759 954253174 651859552 465098029 828072697 910437826 428979854 162416679 368147771 111465962 740876058 848828031 698207494 393326424 165980626 844843912 355587257 383332901 430916898 190431443 617621088 244817473 144855485 255349180 709065547 858823929 453439717 779196043 338172442 984038782 302836680 139058102 459384875 335453431 380603505 566660737 884254474 683981316 804327123 944523908 140500886 417162820 260096110 849661471 901522586 386745347 739262069 768512611 490544952 824959478 333189470 952244396 674689056 411055956 788961325 400175201 469929684 624417819 535876488 634384678 741800495 495441651 115264014 690441060 704723651 814079630 112388068 498953089 879753472 829495349 242495317 824904890 288924794 641197949 654894662 343043379 840649360 332357498 124477837 228052459 366306296 560522111 567668846 930162708 656537193 492757606 529794737 179197776 828873080 317416443 585060330 515026242 464494624 691027046 728010517 523809175 779290764 491911939 882969259 106420551 961962930 679281589 442753483 763704801 199584381 548407740 638038219 988608929 289885290 410216675 947952678 208438050 548455548 369284988 588565846 180939696 220757630 296750175 764503156 999226890 910487638 877936389 406694793 118092295 458380957 945560919 472101953 472721537 575694794 357669456 926414818 621437380 660406256 355264904 810483508 788729509 766904277 228748126 815024501 648474659 950093409 371857205 982994974 517442775 933960675 809657779 551198683 119972777 812906545 586978329 154061666 575129123 230662089 587728027 183930531 147774791 256533047 403775306 525619893 120732477 779753986 835613153 365465121 870680749 790889512 997712702 568996688 558252435 669476650 252699287 450599958 964763950 649197110 929722363 547181678 681363637 280102503 920964970 685439179 332024231 860559331 711129058 799119676 454037034 252748525 589288364 769956879 688467887 236321659 281526354 463831057 508845991 662235761 892083312 203670483 263904105 107755691 762807317 768792785 785812484 239985616 284282884 403431570 299024051 783106209 738680612 342911311 348730316 136964963 628543570 871589547 156249201 244400096 655505402 905585146 143740046 852943151 935771411 243293530 250881869 431387291 651280359 904032099 574942811 980886086 876692082 756363139 308098527 382047939 586666364 966425819 350415620 206190856 527881250 660050425 417161946 722347520 276591167 132180373 918881261 347647882 555228471 280079544 835698229 842299148 692608421 398077905 275254143 571070704 642575475 140294400 176046947 765519942 694047772 677810638 628660887 212879547 961058014 209144974 901271351 361174218 272400828 286844731 351080154 518212664 957976766 593107667 683494941 928653092 333507968 907781486 456187056 914506286 838793749 153201692 626683070 970887841 469759976 575797865 773375786 428293153 944663929 441783242 956989865 523921074 892279633 622386979 683035242 514209367 825741891 244176201 264837000 928042762 814976805 919358156 560475976 819783875 830670028 257012634 739451262 583622984 715928884 490965155 674435208 770270012 677187092 330059704 732454869 379658380 377918610 385644606 244963530 553456801 294272599 664148140 896617588 998351356 153085219 309858955 131756131 646655872 752062868 268017949 184690850 751487046 458903061 172564686 775639682 325135770 569227916 915166831 418200377 638641106 961988954 588266021 992517742 765239570 457239082 377904555 223461119 840210734 915587670 263813191 823879514 755434547 900377897 907993659 462721520 542091935 189483674 857571417 622273122 107805986 134269896 582211734 616058829 466635145 652463311 286241498 157995581 171222240 715935491 404203249 833069607 525408006 277008914 214777057 587040338 887629777 500623849 268235723 906602202 444658902 438980252 132874732 311499519 551850673 729158718 751513521 200916215 360835456 748681798 570458354 248500788 230480472 489111028 308268047 235462418 955603020 939152835 726985181 148814437 809775871 990856498 139088658 439370180 246844611 705771748 855182806 119293579 634464929 528246210 931444073 908258528 410325362 351916600 744574772 649672011 841772511 437606142 528612781 935763692 902150065 243724817 176647981 208098425 643675908 640563096 212978880 342813742 335274254 228588267 527542095 925911983 222679123 330587986 670052027 698852863 301996916 333568474 843318584 645699062 548599959 310508797 796060112 795974509 106065400 347824988 137378406 574746933 982484120 917799819 121554267 249586253 410692561 447271453 265974717 984284602 206217315 935159959 688838166 134713960 649538672 782884082 843390090 899703061 884927242 171735470 631878122 670627203 124234948 398287481 153749374 700112998 454736043 961069724 425921076 344009894 409289491 434141840 833525398 836654850 156419007 716998918 652976318 212683990 951421478 873222376 423206580 243827437 466497581 154263416 963430452 661980213 580755714 893797645 768385221 388551081 673486824 614903151 629452795 907714762 340283345 948543624 795324097 326780850 658835115 792591312 359868066 284017430 664861564 690236475 254312777 975821099 663381345 235698932 711113169 519885076 845405626 925550295 555289192 635159841 570894478 833321090 331004152 440550657 964501565 231875881 761119780 486859471 338323293 426021715 989811095 547618967 477775187 700335695 240361135 947193411 294228326 539590948 811683325 918365754 571214569 202602868 681095273 518982743 821604571 741586851 669353912 787812504 999649271 612879184 394027523 880511351 634024397 546873453 872374536 586502892 800206819 610403573 507065948 988514653 453521990 686343500 947333153 558102362 103326007 915655765 935955766 228619792 407456954 408708209 100448193 773095240 583340569 313544708 148158884 582468826 369311798 979242760 587402404 719352439 713430664 354675015 719023423 334111103 134339437 465517851 237649784 872702268 785308201 860916119 569371138 199168803 599206787 947273356 722857203 276603643 607678597 561524330 300314402 175023984 144293137 817479565 549754150 567049587 531579728 322241268 234266960 933891430 663773564 522400475 468066041 753248896 901891949 840016297 309958215 967385612 397577904 697899345 188543012 183224912 574733418 803006265 727739460 716245192 688600701 495489370 559274611 121889017 956120630 925031175 431684344 601833113 682876011 223272113 180830959 872618893 358636805 432606726 793517259 779125247 916240464 655032277 529322480 689036656 886930169 322893666 896317790 316647416 367547252 757291250 946695089 839360897 274342324 338765147 770691299 963352625 222403289 589544255 262337444 299343347 907755355 787441217 214027204 628755356 771683540 796561015 575326189 287149423 875976791 535050936 144232990 496933736 235192220 829368481 360759009 474996253 676595858 768636819 599160889 421795934 717492646 937335050 913854965 727294323 774799331 641616786 171674581 287667094 514748184 770729337 985378039 808791356 193837286 730749336 618161433 580914305 721159812 592125744 107968794 594512418 879984332 133759016 603650035 521642216 817832663 875698531 894059882 483486035 448573660 311607452 187079468 388378000 994890638 806538993 397317154 747368676 735398050 672092528 753783133 473112329 730481517 124490092 898079247 928455373 607572879 138950617 291888727 472327693 563441717 271928375 785288160 420590014 560587814 595878190 717895380 538605420 541809154 672035373 510598501 690733097 655193351 832171851 779983505 622359067 177009036 218143893 446025905 851106099 205867436 492178474 813540007 683063253 781649437 356787411 846811564 106852699 629751443 653719712 883367728 479223194 915269885 973555323 167109200 749477602 402348092 605961763 206013518 789389106 307860385 979052667 109646556 222373352 642588312 450924842 394170210 622828903 444793771 383288347 229094285 948909023 687311074 371850237 991474270 210280020 257465628 241141230 368670324 630130697 886348716 133141213 712113176 321893126 899731892 311861723 211407177 887555274 151241511 168237566 595703830 547833017 569142443 719088338 726381030 137072612 733574870 309115697 642278693 355931388 619400992 450606214 261815507 808397161 542046550 342578973 922969241 698377573 726557778 892713617 678977219 429034841 180016213 990290045 783506743 109338527 950260592 920625612 453163445 264143163 397097705 909899131 989478665 908232996 657575921 623901723 533044101 825946565 187521330 342292359 935719820 301826940 666729080 494938850 572215234 311333161 646380678 675149780 701905205 556835492 869312772 268057166 376831463 743588792 433312911 117459104 580375921 811085881 355262672 656470502 528363198 651381577 645065923 327188597 641488120 336867149 424439965 955840155 760879795 517138404 119282001 637143191 696974484 280950253 586655518 761254744 906483179 577472548 234951597 938549845 472218213 214287823 963024185 351164862 452714719 799794135 357801236 333702007 723148630 622688246 137302843 114252947 975260250 692427566 682550434 793648548 301546439 279305223 824080031 509575490 728358791 571309169 819530793 429900485 524893146 863742910 863312168 365804842 585432558 199080343 814722233 251897062 613574991 223018614 672773252 311055446 320408367 459938555 441470062 620606046 296034319 124444717 570568004 530536231 889773582 865526363 987862043 863288222 330361722 106453166 343610781 651400686 361590541 963429519 932607847 484515603 694174170 540725596 928332878 650833842 181691666 515933820 854311991 172798200 409347589 843273727 146292376 900543722 132008818 170301887 905387599 949776157 652822367 918185201 635713603 229999902 733408857 795907277 954137308 184217452 159863012 720659943 367695574 836513341 874499188 785957796 315213442 492265040 103187554 471766153 222396733 936511496 773408811 837019192 149519870 498402048 702818267 567959261 987370290 360744319 253936605 641633111 968338528 520087781 335375440 271994812 388381135 656077865 604856158 231499936 421673699 780058032 391331030 879353072 418664177 405296085 466350330 769790411 454588362 670405802 767694327 791829648 137142266 641617497 578804534 276375763 928203178 119354347 515930128 333219978 864333782 946208100 559165835 805020456 316197334 214264013 153815456 342349421 393187432 539776939 175829558 448594911 591711340 644272537 747184362 616969803 472445058 567227894 210090995 223117759 512835900 909076702 666292588 354387982 629415487 367947234 545554401 475618345 126592278 716921295 586841068 720728704 491140600 999955903 454386095 735007750 219270217 168325572 644175555 726527781 322887294 733069463 572802340 433041566 106063393 798690346 735837467 353145123 472793336 591028702 360291231 934898795 851337493 361090875 149683925 762782409 299238771 946609108 519843947 115720922 828672054 452622331 292227211 422144638 478877368 398019552 246996302 278721592 697084601 742440342 981159985 794086255 534902656 165368248 107364964 352159616 841592697 270360651 974016842 220025047 574664801 347383833 837653922 814542667 850637421 181426679 532239566 746583906 926190580 866998431 496592867 363976387 747601413 996375618 268913019 260707874 882449244 611655671 108365918 237478849 415151314 371445072 674478363 491598890 433354891 648901629 799047686 428526586 419212674 981477290 577131970 889482390 711148633 243756246 389284312 476732367 687563208 589102159 907025728 490201169 368231414 180455392 159039938 594266227 650301394 183556888 366021573 216638598 365596572 501110703 422554699 809532047 740414928 493055566 896453778 983371834 237429917 131358271 640979534 372453426 762309283 221647933 719674458 936861573 915607527 934537035 275478029 519511298 179170807 384633742 709551201 898449349 115936181 656403356 671606567 150320943 398962416 810194161 698801782 929327003 149064447 882518039 452328428 554201063 812502982 907251233 320520068 231845582 393011361 598984020 203683171 663459699 556617398 781910745 853030722 480161177 801330848 246518485 119575780 990079151 660591223 637423656 837376521 512714932 166982329 775492509 643919021 265263510 407829474 318321478 709641531 225387513 141592962 308466272 446414436 259055829 204558433 297551216 486059751 811145014 255417552 364428244 903488387 941661807 326395912 216211915 102734099 946533270 337931489 651437929 553663977 476075248 421664800 992426967 661533612 730404376 670943533 714831345 180655788 770136736 423446541 723370727 628130154 526707135 440037873 106179972 591522274 657927917 318926198 529180715 456682728 259563568 481253252 869491284 790403097 236920238 671418768 128127092 690960845 333974468 326792045 574074491 185805759 101265890 257246623 747024688 164409060 669157890 548445469 965567632 330022795 403408733 167868161 593290109 880918768 709144824 463392706 735302077 150621210 489130888 800690367 891204176 673796235 315998634 294047673 443877604 578920203 571118933 512604400 209830399 969737440 688616920 139855020 732595832 503578583 444646275 864682197 231324722 227856946 303020209 814626112 523501994 946420693 786172684 139860406 998821313 414552933 256699938 881625777 173647239 139021384 404232193 125573516 983899968 125774698 847998423 852145226 548276977 138266273 469836728 954896550 444362876 693935218 292031803 309341407 858998507 820348691 932674520 731342659 944423897 190109885 813412984 667646361 219111986 587390433 276597287 696095957 646874712 766174391 827522509 993893612 721203814 245175491 110349669 369005282 208565632 194119286 514186618 299594804 466068402 414622879 801856528 244959975 135639156 178815501 584640412 772399326 504674642 491152306 593297773 998351401 760975511 447410599 162158529 808320183 343045238 979312415 985460252 557737161 584686435 696868024 338726834 983744062 494373230 260639829 736660911 845451816 462203466 323453492 929915897 128558937 135510142 654747507 545093479 973596702 616574335 297084702 784039633 181402329 982463024 608293611 827229677 478764421 297719687 386163676 999812869 970411443 479596841 291566199 894544055 271150879 169248252 548368541 258767856 799231091 621386462 204007337 488766046 361659997 206468697 461824253 740107397 591143965 767056085 594445836 602420503 907829293 369751463 957396016 411866344 706335528 486210838 134602269 820467619 360455551 687476987 882987750 370465117 496925883 551607098 881649929 343829917 601671616 847027333 147314251 326003814 925970529 190522789 552770003 998098126 127692009 265010088 366375385 299276132 452469999 323217838 691531833 654499187 846820166 744887603 652081009 108669579 370983664 363469903 850184211 940805804 626575005 958875522 384162489 691398806 570757361 473343508 548383479 949965626 176840545 757898857 537992759 140246895 812998128 749356415 298273875 320477209 178726100 423063269 874670681 445573018 896642672 596722490 689862716 786396974 388457595 172090927 435024574 624720241 730979422 110997930 189231959 905784355 146467818 260366882 295642795 319486328 924728889 495747920 196055652 668223899 871305792 145510919 286944141 812347866 806289882 306056831 223701574 711133195 496228641 865878727 474689487 217940601 493818151 837669931 363090703 378401529 936427836 601458459 123553757 645298079 447598148 931530907 676637949 244278200 183312475 248017821 604668819 499927768 535762723 296925159 540332096 994292694 114006766 248774046 486613456 291424575 821117022 262384502 917563079 539084263 318863743 545364368 641647079 824019319 509306241 766193340 299754030 229982903 907134853 555868608 130192605 494797662 189767145 805323369 297001951 601299157 450536615 703767239 378365671 199595100 886872511 152204327 719697725 103026252 238948547 354488608 654571814 182249484 949577064 885898043 379973129 418067882 578414046 744879618 857214261 912313616 392667595 181763870 887639767 386186263 911160013 967824396 147174673 452199851 382347447 750750940 793260911 148808833 394319544 269759426 598550212 634115650 243580226 999813285 550965497 250584812 249746874 205135029 807698863 914363860 926436194 255769829 729529916 630158949 790908897 729954123 137474872 635038065 619013911 502217234 764748937 742665775 314438545 831519758 312601114 842834161 612350099 535386037 970952770 736640815 280553601 555288450 973051206 236517310 903742562 363267883 525970108 185267590 891359081 743713975 447031970 902481484 940069010 912107834 209243077 735744235 625495904 841798209 361008256 291666631 187821168 723080697 243294266 246088070 245331666 714070329 648932572 583320250 292388117 444010801 965070661 567258887 294445642 509913166 795374872 711753745 696575871 851926019 981448661 438439379 790568611 345597028 539735930 591542372 450252013 685847383 669351918 351496745 841312396 997622437 982474871 909531930 875021473 709681270 652401757 886723027 288376974 752946190 128321538 378712392 836624453 131855831 381933372 607520615 387144684 549052541 767669857 486421325 521214582 926814501 123652415 509795726 760289894 614519704 258208876 530734716 493344406 802806044 725204505 395928526 733471614 424858614 303814431 325402601 845811350 809177480 931562772 851651496 475813557 531524796 426928620 881812860 370344064 448898129 317569189 674326703 809469273 115411230 762670974 405923683 640254545 369362841 393544157 628021219 280386582 693098725 424445348 196416906 877949896 542192244 894709451 693354294 492819527 645555514 911792515 478104211 830804069 299274532 597772927 671136486 961550957 476174318 726032231 916305665 247787562 183760651 637991297 607225981 712415030 942979835 400544068 699636180 595902416 504213934 842185922 475590100 823210335 861956382 296060592 726980880 793550812 884851470 793444825 443504721 504625798 236589145 401149799 178828651 869760423 630479775 361393203 790858663 887558162 561975402 442284380 951517465 822564679 455436312 777001892 436588949 542100253 854891998 327130444 100578977 613933823 390466362 418821716 791310237 681813772 944002551 579210199 526469030 784514548 896589032 294995283 406462292 360291699 646632407 513728062 237880931 147129982 458140340 298770434 201288047 645012637 629209104 466327523 546884703 798438685 279696061 749041524 290338656 687191852 192921938 331502294 103647433 331110722 802599397 788904599 347828508 879942235 142717652 634817295 318742658 118815416 924886616 153125887 628083284 615330515 345097390 761968825 984212600 244644734 806031999 930868609 547049832 209290507 350019537 845477779 543813488 878783295 193386819 387703766 187736686 520347891 657980901 804802522 411973250 861156093 605037776 814015337 893710215 610661571 745708435 803935278 213492251 455007520 649651110 449775615 715693925 383976487 261990375 999061321 364250475 412915022 427489991 343561423 602416185 805000605 120741841 391696633 474468878 239498772 630079243 527939415 417397678 387906044 983805995 930258942 938171053 393454933 826142643 177676718 497993693 132077484 382296043 785159169 356198941 313324296 931460808 859870545 401019528 742631144 484526204 378495829 571522923 566285702 571276075 926728148 752853499 442122343 947592600 141388804 657841747 934654358 954879980 862046972 495020628 510238740 859604005 930057329 115121169 678056727 928469851 548173228 159695788 169110341 262749659 523656316 336784134 606596704 197615247 404699469 606640961 750362015 488819215 586228169 125707147 207136857 190381416 592267978 886338553 202373156 846408197 199428638 498921545 930245767 778062905 832291654 440300345 147381141 501838876 134022226 862237172 467015799 218438748 926497046 258601738 854580964 866519710 695189855 261980005 109351912 139605438 116754511 646907252 756555957 839628960 176172552 244517985 271515936 803686652 257287734 914818032 209849103 599618882 668312822 820019557 257132849 472028732 279961816 849307987 878906059 482257626 492364100 692795328 106327837 352645175 789763123 233748668 998411492 539208990 271787723 473318304 862464884 761933897 561331097 317599388 847506622 375931045 900087883 877388770 707695189 797354390 128089804 515170166 219293666 114522906 407733800 707935690 104086525 202412065 490315899 891982237 979966740 797399643 168797452 202333826 763751523 519989020 951975115 800089581 681415955 803314390 750433766 408332367 906579205 940049422 561034842 163570174 979203892 478088908 625971639 411486009 850896997 518686373 360474487 395609231 171290827 123276764 539672015 969818536 271552169 124461279 228818906 405466407 758909270 965600618 227298710 681741180 896307736 180184317 272139432 151037324 343905735 965989666 797780191 871151207 394069569 978506324 543370793 969134270 570418286 192960091 617591651 974368279 802200710 657313095 435142425 449090290 283188890 288464563 407243086 500014104 458838110 984675552 330657511 800462475 424075667 889091450 149284820 625436878 247079213 615618493 397976831 835969983 264731404 834093644 551297440 716586871 441867214 754904139 147020837 962561027 941348833 183215382 596272997 377607544 691678025 755773092 190178375 445226632 136113828 975547040 710335701 819248365 695370502 275021714 439354212 665459317 230279139 528593153 599791406 876280060 424354563 497026859 980648561 732129701 975877467 483969513 708554799 617696676 641144210 416828630 896175880 659546127 421778166 559855474 673134561 653573947 144479900 146888088 706868459 398443244 715493963 767770111 388896107 803170534 413986253 163564985 302041377 812999030 568869365 758005371 771815755 431372485 377892816 805881840 666140007 536123131 894585795 924541931 940059697 454454381 545340424 965326936 547146982 396797612 214911372 569513587 245800110 509848777 495923033 624008564 168926867 683201062 831024077 424241996 871009107 621508184 962406460 816111879 320518509 166850807 842547273 707602470 188549664 603267895 118356545 931466270 308407465 208279031 208103518 214391531 964920089 311580733 491115785 837476675 736708271 258031706 210635861 440867698 410431958 165283025 690527539 521449702 801816179 563745501 328895198 615798335 123608609 233238306 727682153 812568535 814329179 251670278 465046847 511787985 745344749 177726079 435838942 145590568 265821916 216853483 321730318 898862773 933038615 500542247 482170264 595719533 871724262 334723239 860151856 170840088 496048692 835055505 919988788 339747360 686230791 611608903 779561615 173740116 544749936 234327935 879066536 233282614 140796318 420883948 130190958 444880324 145694342 145829059 579761495 473676765 872851568 709551887 934980789 224860253 976060332 744184977 179074672 873200559 842990040 508286992 312494451 620610437 298690513 753113172 570585945 273766079 231919962 129223287 782659756 648584152 825112030 228844731 997466015 954068234 256996087 573512932 773589703 409200942 541297446 971074338 630482668 486951479 797347035 449148658 391255755 788748203 815833476 134787985 547889112 428222184 723820938 373221478 542667171 710678222 903293873 328934353 695756023 211212115 454739730 901925528 463638065 459249903 609724103 823194546 804416864 366673753 232759603 678127754 126526039 895297355 681559368 239244223 909463898 356430975 450207353 290113990 345419119 473655325 829352262 441582470 903496835 841113167 443558986 248383472 638940003 686330159 465528869 777756299 272742116 230572631 118655682 142427174 491495816 116032598 719932407 853462148 648896898 626888315 538259246 218765261 981206939 799025005 693191108 189167068 939987122 966868991 827916437 178932533 962693189 717954012 126195665 666849005 531058300 397775797 193473489 566005895 870518387 598330717 851149689 113769923 245697438 648753261 419828429 835131891 250975675 945829084 137535916 691670439 634301298 319999237 924436452 463074744 312451921 326437914 554147307 775307028 562380920 519167520 100176897 493123512 791717134 355597043 924738192 549185053 470055599 337330822 187547035 207409653 948851990 824198237 605012081 786904590 766886023 433012357 204555904 948031347 584362997 949236829 586518856 769989819 204151209 648810824 174910165 959010821 822364478 224389288 439898027 247749313 467995111 626095170 886472906 290406591 956031921 616417072 618320693 312613283 306653324 209298549 916048137 877272804 921292960 103152182 116789892 397356254 450201584 864522406 295998187 736688923 811727280 533090683 314055033 841254136 257801591 586281819 792263068 759165081 562092664 129990309 138830930 921823521 755514286 729069834 417437395 195770887 463193450 682764012 917712070 329138518 463601424 759227244 110524220 980806613 886284591 103132529 250457105 658361511 808538068 451030509 399299869 994540537 664934234 351737521 826873930 905924570 752827339 370954614 998797216 970962039 143128293 625271217 351227832 933230110 822669881 165160690 706310163 962707104 255170103 685874873 876292183 639239182 483256892 218825009 996648035 828293038 247860984 985217028 354195689 806042430 119652112 699758986 901249973 694861834 436603593 358878104 787812055 126485477 187403522 320810932 645606126 505804914 728045560 297431754 986437403 484401545 883018279 340477866 690900471 374548944 450029809 402468052 194430590 264723915 157022060 769877953 422779124 173479016 485469271 742722540 346063154 471896618 160878587 114142001 884267181 408871906 335454576 863213625 562970685 768680676 845707701 100406133 489369434 344719115 773620491 854443139 461502316 112071880 982090194 627021283 263680401 616596391 355107784 874375351 631527557 325392866 643667302 965404045 799568838 878955341 935256831 709813612 180507386 678270169 662926780 472584599 878764525 709340170 599585844 297386538 871071478 510150345 654310893 578117931 281643545 949990864 496710809 480992031 351036727 461555961 171529415 580261625 825292789 436746552 460644704 477595035 767376600 189124114 758435602 648581681 910391823 793332719 328073250 843619995 135990426 438012114 768656407 837542943 377583503 611952274 232039524 902620807 396011998 125481794 351640366 597210332 983639765 605198243 416272316 140087444 690858698 888345405 194597049 214655806 466972505 656398716 392489872 393874962 491320149 384605326 738660486 535166399 145092598 841434791 814572018 494861743 108568205 394515515 725278746 748655243 803008008 650998912 442376065 994209413 801019798 891293551 688938751 753562587 433006433 252739601 699457317 616284273 121310436 513082701 195988115 365796076 577557454 598888090 548378756 222781825 775256907 755349815 513465989 552200871 465050614 218096850 655540420 640742711 818165261 687246029 533372001 137680426 115062662 533561670 222195156 271767036 904776425 678319688 273360731 592722405 957503994 406046033 300078196 308327851 559491909 359211877 932948225 273335875 734450754 659680296 544400883 709092970 109715894 958433139 853937059 908365354 667195130 674905531 401634800 678461004 816903194 332493552 971279535 967272850 849433573 125616655 346376852 208301722 904811197 517335311 893369470 691941376 132824772 309618297 285400736 809607294 918520613 848563661 101291370 458963309 171096288 641838670 348999182 575445363 979518846 961148517 353611176 864131121 503703839 163221554 805842141 661932628 271314911 552846106 775945504 130096603 619908219 702390187 596274554 248500780 121527598 254011072 854422898 661435167 465246070 699188701 415695086 928718112 465869610 201499002 222555616 521770098 783011588 390917735 288727325 543868978 739012853 140192315 704261194 527301887 489832231 796105277 992701009 987991038 432689609 602132793 747487036 638753038 107171682 606921207 421420697 275293935 413809827 562133885 214884461 763648758 225488954 252141498 577963140 365609079 754594084 592160505 846758709 348798989 263919434 424195234 679494544 924621283 160291022 712722704 522130225 723516640 821234528 519257490 427746953 587367516 360374401 119711822 156817419 803561677 878999694 252744904 803807132 267051831 885442547 422898752 562796801 465669454 460741880 191866080 109680831 549243830 336302929 548588511 414318155 309586984 273797264 986522163 128115993 609902055 834314903 346436278 986861505 934053585 944662724 458949915 663149302 732922915 554512662 342216700 902923054 368607846 480956209 908444393 466509203 265351741 220122036 631517379 842830143 897273886 916974169 916045691 154235730 158315865 966495534 622721263 507654028 674123141 586975548 983861279 829808508 385473735 773015032 704621779 196072800 942748826 182221592 906584228 424156041 105491924 692165592 495450899 686360747 280660729 871057851 311125990 986391859 562721721 451821258 603252934 261772338 326226374 242374102 328175010 431210898 246467048 843046316 636631092 714311607 979850571 953629962 358065411 106970766 874775386 219752553 450378285 292220004 409378672 572974544 804606026 702779504 244000504 535613246 830571361 810725975 572039897 144874716 438627282 269782961 946068503 155986522 497504473 263149312 433702253 865471100 125138311 174723513 573516923 229394145 107579597 740957525 900777059 694798162 559951409 993859129 446712889 912637992 947854447 326510725 572010172 996849228 541855510 967924901 524030590 540558042 418261357 593756826 857451426 954270967 851708759 392343793 544087918 653651623 650529773 365289040 836881461 980820656 270989559 809567159 693451399 137218193 867089445 700086573 923439411 439811474 321046581 626897438 762427937 876763393 683565658 652817114 980149182 296461952 626761011 819917402 140511462 849731925 574122339 812616736 349527852 101206316 614211279 244474055 586140323 271989356 280978308 843252899 208662664 151464328 472464303 878282469 359662800 246496003 800371439 480679688 833013551 580601117 744415811 409670911 201739164 277106278 208720686 344294224 522980679 112291268 963661894 537062181 703760267 625859154 258605741 904484125 244296833 831241023 927559974 931646933 922219282 279447627 478422772 568102199 854790924 330292546 843520084 254107770 805627647 273108650 245991714 127123535 214469856 111507566 582643255 607442935 399396824 996766731 984499831 338445658 500921770 708709374 979881989 125111368 861331982 963116116 113672809 112284026 776256525 112965481 971878271 697405069 669760720 511798253 124339581 527611309 675457503 168739852 961066884 936274091 682244317 572974955 954703419 281950434 227137932 290897680 672097103 496601927 667316944 491772707 813589898 695627603 696878184 746008671 626866637 660370769 626534385 146083371 432879551 798374997 159752426 958669607 134256529 674748955 377049263 763081749 548919621 356571833 840149345 650114487 892654568 852164143 709893969 660055796 266228546 251239202 768532641 375591959 530593222 611228737 376956100 112432796 898282294 108436628 877267305 524662647 884370768 381429333 362770866 430183496 847637413 962462178 881183085 841755908 983193673 297964417 814595528 711306731 450469356 796664340 342215317 402600114 581296512 364152649 197925559 441510297 599111594 339567859 624581063 366557813 532469970 415706198 428364476 360419733 814171033 293541330 128395100 519745790 601929673 777909664 997683503 681605361 309741338 640912311 251644905 979802227 675155590 495098399 505968525 931426899 587899427 262440396 308639881 582186250 222381063 618683727 772279453 733322456 293752345 292529121 234651080 828588101 454999536 822991629 385741741 809297425 782245885 150715599 343860931 590691742 653024775 938482491 288844938 260119650 486870137 520737160 853017760 304302746 715121204 815233978 345162224 341996999 735382158 142281686 609619731 679434730 917096365 872515814 883382498 874600263 850729873 628229785 637372374 887623533 348080641 826992158 901921957 812103102 158891072 714336543 658279454 388171985 607199543 781502867 698465510 124877254 380792388 101401371 556483900 464687294 574309356 592349286 183236642 930969742 459714594 468212199 595501848 299755107 992357994 300711651 243809623 243928565 116474674 448784241 581507768 979048072 739562487 238213537 758136438 340004333 387021856 871707190 303663450 545302551 854755240 322706590 817898243 988131597 533381129 134695672 891122082 425504084 884473935 584936138 516214386 717422452 209101904 684759735 993540221 576306896 270157642 169003323 475337518 329476875 756472243 823764971 514413580 174481351 689390439 470015364 417968684 255378446 234930416 647128345 677648463 869773982 143188988 623322207 920313784 651682172 804862858 990474378 156568047 629451114 796718160 441859798 201191762 868867968 918815309 232663662 978161493 734450611 392872868 832443052 169491574 254691412 309159554 754777656 998293077 480850062 890346158 765397037 974150798 421099021 608640675 459003068 192088389 510997564 329430744 698101159 151079500 285034184 584837497 649233354 976161125 569323307 319981016 910157340 791530552 857122854 763543963 868512401 909230535 593758866 928670457 813626665 782271632 319309728 238548909 622856992 206820877 514475596 911678971 707213961 102069518 786335742 404749229 306563554 768821358 471639891 272090052 333161478 825800854 259087571 986828083 545339012 323123442 149464520 728698730 279564022 127356681 202782692 548680998 651205698 460430412 599893483 299570686 937399084 576469448 682036567 962988314 663932944 621991814 137752070 105704437 254679521 158890584 252026419 905304371 911528084 502637206 230200947 137949745 308012997 202049558 783586077 655093745 610382247 991559170 158917244 397361560 186481498 394812472 180314322 564254789 745668261 715265433 625890352 597265513 909427190 167547252 551159339 524407972 398750746 462942434 317686968 576948670 278440058 142923202 671847030 276390287 681565716 579452384 205630281 693109638 404061855 204569351 106779869 682763549 740467908 385027090 105333375 997383623 162711172 273915964 918716649 241335439 746541838 525332591 301282025 435620146 587336832 569086565 608311376 353135350 342463051 632023884 678126171 788020661 208622160 558618506 860323084 912230097 521684931 609906907 921790772 270598958 864242355 514479966 496589611 565523242 970590720 818561820 102495820 499085747 641423259 555550642 257012024 643949525 963247926 171400430 537819886 388999748 764767293 636710527 437492343 654994318 285325911 881606889 812174494 763259329 493968111 583244936 993727612 759759328 733753012 353675035 446462366 634078310 622478026 810684087 349985083 919821160 636066312 473120484 419676790 759602947 793823877 628483356 299163793 617699352 434063319 858910303 917886182 661770499 179638617 455373783 822043935 574917650 584815119 435717321 817698583 267064623 667358995 199789082 641122509 236739679 867841578 311974831 672106535 159070331 780689805 471137594 896280948 320631115 302715836 466205124 648302332 301704585 465769249 560299373 110655068 314251638 798739716 362754540 552413298 123172973 433185128 103487704 730654099 594937306 952180621 628923130 321436877 474216969 880512836 645778421 173797411 418725855 761658235 525989059 321542405 936474434 117400025 955343917 830853191 672739913 642292052 379621306 639621195 208214456 943902815 123578895 420701501 224132413 283862919 644487944 158404645 340768524 828768410 127767167 538770040 950501714 105404251 397801080 562551405 173399344 645824056 631810264 824927903 463414595 581000970 894089396 389929442 679409894 348816751 961432961 582479681 680707342 530466833 295121478 444249592 946574217 311197706 812886796 694769580 347236310 197227289 112276142 124641160 962607886 762992765 722104504 662274509 609061440 301874255 430238503 210879313 397981288 398226011 552069053 304872826 694480155 889458114 809039103 979913604 637244904 770388534 504348989 949711652 686027793 566071746 895475504 343282828 287323944 395340713 861986787 734134380 642720440 951178427 563996855 656628258 488284203 342486003 585738765 852532705 299206407 678146254 332839562 667583639 371803500 967675591 867876258 503848673 645704774 617157625 197348921 507555341 243903895 696555348 854001272 232159564 174320062 507069027 841999711 370364254 502676306 767290944 381034052 235954759 802268202 313173144 254975477 404695685 145243203 540512168 438561189 964948124 262885468 710535825 324517802 509394104 686081954 602610816 575667798 767314631 408759471 922302995 411113304 869672847 262065400 534877294 782429988 259553689 375259159 780076141 781386367 184682584 695888255 820209439 114876810 992005378 934386397 207411925 699998947 538037662 175760071 391620641 223098942 614097190 850794558 457633986 771228991 300426377 226164726 399042426 775373771 151728573 826181698 279327133 848338544 137326960 831119984 570353671 701131155 237302377 199236129 547358741 716675491 160843746 195905556 653745435 956565298 686458038 937741094 899901624 978657976 850681047 675642982 615684937 559356024 376787834 575421990 344860761 580389389 458554553 765535086 698775868 795756512 566981335 175587653 779963714 156845274 632880431 822259243 198087453 804015542 242701353 917508427 129551993 207095396 992890174 850679799 192501416 337473607 301924600 483930215 721421310 178448312 527837743 187068403 891317899 332425117 608412356 487032012 819046934 644947779 478121547 854961679 530569150 696162548 555038062 131251126 918269703 320847538 180843472 831323851 340555135 649301745 616512609 929881713 862183852 966952567 114817800 705988560 857499443 500098106 709451099 652736437 256038294 196981620 868872356 548453118 692630942 883006346 912678398 371278249 402719299 683447517 309032031 546348471 662988400 258488437 963017625 484747331 292899267 230352555 661670839 482794611 667828105 515993839 858447460 879362957 485024153 513521091 316938968 361522609 718772092 341260880 954080420 117277458 678822697 901387430 381949483 447377257 978949933 421008390 566125864 882171064 462677476 316771981 888425173 882234335 497893652 712993196 534177577 966619481 877754413 293352232 577356105 734230447 535422213 660261506 444357866 303541554 186264288 437637641 859465350 165153595 551281773 710143755 832780153 287046126 771527866 363097948 615963731 218604705 116825702 381941353 760316671 692395779 343322604 662363868 280608963 507299376 600409055 222476909 107359676 215071514 370378989 555200613 681545098 851166268 543677753 961403378 451090031 688777861 807313818 272547478 148958582 658229603 766654603 735567888 314929455 995715728 789298641 205982033 583803864 669365416 800395075 704840025 581783521 655750055 191419674 323036907 376159030 160142717 907157383 602711053 488292897 341825986 348336930 191023955 291671743 651185880 651548554 350309102 226103142 650677493 404455956 522613734 646431597 437645735 851247073 955426597 577984380 849661716 432636781 767496116 975731369 559622668 566834142 835575141 822022549 434576754 696459779 682774549 151257559 317362763 210110139 415103133 523327020 351215939 176419376 346054744 252022264 777140984 595271396 641150288 423114619 960361808 691250833 617414696 301636222 156948352 995502241 687779438 797696434 313389323 143102930 925484771 250070681 273475484 970122868 907907996 953235110 468059762 544792981 734223955 345835549 406668372 942313557 185225640 928195788 952539729 551056134 160615701 805160464 583164628 319254082 765978347 234112217 871439139 981540035 128109474 791333328 202023893 813464956 332743800 885778750 820448642 766042344 367118865 123702392 388534739 892291377 870762690 222396575 400759913 325964155 260222288 133802878 527696937 284247209 272972180 212903308 853961918 319965898 229382074 412352571 391212688 544345705 855639454 822721077 795122457 455156687 510644149 706662040 210333090 451979785 773059005 357616130 333349282 623778341 359887448 679054157 248151312 458271954 688308512 509522317 685036704 255823878 825989686 503468750 834480415 422008789 569753030 342584816 295026374 283452036 100852703 869183840 964634227 286281619 366684659 230603393 864430429 888486892 191472293 101924189 442392805 279937925 234513676 339286077 823453491 249244846 436360254 715058467 829589633 121532897 668057909 591190844 743333286 993655923 622672060 658793734 276044842 979661992 538105614 616749303 896365853 452135781 125721170 379863287 107828644 455773977 961459126 184082534 275556009 813622569 203073380 624216048 652961356 390164225 731454811 152744642 154851786 748388184 180726608 223498416 862752767 194477534 183734727 215809270 836849115 461457998 610310064 399083982 927346720 321612597 220058548 827762591 856958689 160972456 820292178 710823769 818383157 490153471 697405592 620700975 102843479 722179966 973880299 533873256 455486786 195598168 892712427 677104185 950360512 446143238 927929827 667506699 998804861 436356270 739050038 113256560 263502794 578168221 989299948 445756215 510844754 187234554 938758636 185456400 849160206 471974268 407541793 417354658 665872877 655738059 218421587 456308978 269250225 942205651 984754314 300774960 989085215 370716334 722655647 117518539 514556070 669791803 636211063 498621935 294770327 291829661 101084687 364390054 580861457 704835631 500723165 523234487 206956014 592519823 512693350 722108364 846604547 319625351 991325484 474693403 503664565 748452727 217796792 247300382 858569262 963051067 501175103 847674093 855447875 165189187 415051086 971144085 298946754 747266678 640123600 417811864 109598028 844000901 548894938 824584279 569977716 606764721 776850680 971343292 434440783 703863062 720088010 374034903 979323809 589544077 830012297 525237932 701596608 535833148 659040272 828608098 961930024 972643602 809135994 512375605 176480274 406144934 267998827 673516390 440554005 741662836 467644844 121622851 129570515 782448912 148780703 417674782 707166227 510752226 658948374 540199380 238072852 872185922 179002374 705975848 160025864 584477829 224687952 845692893 306629951 896327719 521342030 540262043 694604704 278530995 899661936 919783114 500663594 414104506 883895237 901364260 797991046 583667408 425010892 924421313 357334650 148850444 127328499 187038174 362343374 166405925 797005377 675440471 994215355 267662613 645476880 298446253 589712127 552189328 486930589 101969799 927057729 850410077 735947256 876275779 997940907 287791755 409011212 217289565 656387364 591349850 914914601 860827448 493175498 796354837 573494786 634811534 519081368 840691016 354367418 499950782 193312349 201103235 543479000 355379595 325179126 179718309 444782042 562881327 212949073 542112227 683199378 103612822 226905257 849581485 187803401 246505466 881403580 730357760 377204144 303807694 643938968 800252265 164174492 305341392 850861332 857463715 293661359 944128033 864844281 658089570 229630301 173155737 247932981 470418877 387148958 517321194 215312846 140486739 753640848 520025894 261092646 346057372 494922537 931157711 313969811 398144163 641043288 347147239 943113981 846335068 664164325 767538377 361771425 529132170 283168516 678211145 709329501 244771661 775386888 450148608 543105496 621028152 498660482 282980583 611111597 577028776 192605571 473758907 750552378 161240107 525719212 673991930 226964382 805644371 273300762 969601023 114117221 586018149 449594532 342799052 760639308 856998581 743925180 214929026 890705661 388063260 352351949 307987598 108445114 177415604 337124324 984745303 530187409 732477250 503795107 731991754 403140694 133957666 778295304 449205981 129827599 776426416 849787891 370167793 803769345 948701384 714143964 755540483 624818918 108136952 916788544 142816487 778680386 222642836 138623837 440262217 182591648 458808414 516557961 570346519 955303607 527140759 970179687 120498477 186207593 168084243 280290446 976211154 125109409 922641597 428467737 589359498 131776140 667279446 332196753 889755988 855188423 255708786 461898724 260666523 403344097 581816882 622171151 471685167 721194688 866658272 899887763 296876600 668947991 601891828 392370815 661055747 623179046 675544763 907999598 120102629 499263932 559878471 628638606 175846789 268888005 156524931 408827747 423543215 172270313 934150978 798052885 641808296 139126086 539115656 182905637 481918828 503297280 359917436 176527779 803535500 346033763 237311659 476954518 443448719 208912493 778616867 554694903 811357293 231919030 693129551 938250578 162761895 631252041 963828001 649474606 965902372 539276150 868969708 542804636 706445737 248999165 568214294 946153625 207364392 841748003 322226534 564421493 395884691 624827004 675751863 993262216 180187158 621864733 650373819 559276626 520695524 644800151 522083509 438269513 836075771 560411734 150048556 701953434 922589565 776422289 182326454 674007408 255001464 823653675 197055532 940822528 341404744 309509722 400489584 249061608 640449326 918327760 650338186 544860435 307491331 190698815 879132891 645699989 558860588 243272278 572610272 686527019 996453628 406239237 670851005 358363757 892438140 129735319 914563186 162169526 892348566 767661788 149602430 284178269 132051771 928500748 855870714 952885855 122871402 756253602 380957843 387458077 532692371 783846840 954833009 970553614 626114474 994126273 534686868 440844813 915472761 255352197 568338602 832668131 945136338 221914810 448441349 504980440 285919612 518280009 368373832 142670606 202938361 620679519 781648065 760567579 338281728 920753741 759541969 363723866 940389488 690944612 127935677 419195940 735657901 613929078 579485974 315099210 644538979 996598802 387845835 339452154 459774749 447480002 798366634 978350702 882298607 145459660 477696831 873965801 366670048 903909591 407077209 542745178 619594216 731425460 945427253 620782684 104173099 817407001 842820782 144273041 997376138 753731260 213424468 644675064 612743803 591626152 928634189 223401643 750645787 500526835 260407149 900315660 513134536 507751329 807637186 141901262 992564413 748546877 613741943 732497033 369108917 611557936 129884921 569256235 710221279 388078614 276607115 283987381 986994843 267579285 846812094 851028584 379046300 101680247 566365076 796475060 922254247 824652727 911713313 694168618 781236433 439659275 482022827 816641403 661181738 667526514 326920769 814867964 465771105 162704644 614848417 810756079 190077593 401133779 375758653 661540479 715981410 538619281 896438281 538759765 746096014 299853011 565796265 918237398 186740504 328544377 955986150 715899061 438752452 983631051 576301560 435540272 879463262 470379572 541944688 618870091 855274064 105893311 855777031 507003121 433759644 294441008 116584021 390203013 464910466 796188956 359248846 765351740 700698994 162483358 489950911 405343522 638975406 849707121 986039368 550315514 396886951 462650646 980409599 458153524 121761567 670855748 165852882 505800030 940489886 726822165 624820179 104017749 643109843 119402453 510367557 372469859 741819964 226447601 656934330 245648981 496740044 114363041 213940785 530218965 612108574 953681633 982124425 935980225 240765768 642911028 822899127 849242593 232935932 939372925 542588514 514635280 584412660 641162095 421718994 876314651 923554964 565671621 727934783 724602354 632865175 750114519 424269958 487398587 295574062 312144676 841112331 826218679 780616960 858167607 877239958 734919288 118440739 840126141 418838042 689226894 184871587 810514378 757357029 699668452 130180357 277686660 381551987 364608268 171861616 904340386 306379830 536190396 606971841 861191349 409351456 894345508 725807319 949576542 679613157 508667589 421153393 482266946 521313757 815176448 196383556 956599342 351948119 529825623 465839606 752754403 541837944 836523562 549502536 983132133 737823236 947460382 320033780 201865575 470851552 564162987 846936618 668889557 713629628 431252093 542454847 310487302 464918802 734038256 286290269 132858162 457869155 235912475 570994558 992212880 989866219 906304934 251821662 513284955 367786472 108499832 670757385 570091384 923944554 950783235 842879401 269879650 791477719 790191776 335561484 816135009 553636157 459111461 474413470 951841944 475506698 684523660 344145340 954149128 960109822 238084157 590569338 625052420 788087303 887028915 210382797 464585734 690383343 741599499 152219365 315619853 204289455 301193140 438213271 440455333 838260748 745156555 715379969 223564583 364058657 810045678 203545741 526718016 229131827 289870540 753160019 203112309 116670821 594496607 590709561 979513016 376384939 851808542 620857213 709076634 173248756 731465738 468614124 166811164 196918846 461657612 788508389 913835527 761567608 890253775 809996695 487361140 184416788 308916996 330373061 230513096 856017704 714979894 629060331 858751235 186514081 768302179 378701256 408289035 722174420 345994040 118571658 231686323 485670114 469777217 646335635 346660254 116745889 935459357 384828249 346744184 290241113 724068151 956054892 470848792 150250593 167949523 356936938 663546447 834893184 176072379 414347895 761766708 637117415 459663760 133279070 903145125 213896108 646918883 211418414 120016715 507763795 499853643 386028064 394678746 926988175 405695342 111729863 587363977 710852771 786885465 537039038 931143846 505266489 674657857 171091736 157253029 341769831 291033991 109730074 907904649 838856594 539916672 561497180 473422820 540323993 938594368 904301281 123783814 894971375 634882597 188714934 673607279 450420497 649158113 766131120 293087747 345635902 400863608 619146076 617807619 393750226 921465691 579902857 688067765 144464182 260498531 375935683 675178153 685743254 485864377 732180814 582035192 964553049 172417481 959786006 555453871 681088028 707759556 955163198 499003235 685051036 797855288 812243325 452448981 130744499 636459378 115010436 455476585 648858819 480082044 887175808 220389575 912383875 425864448 263234727 843576272 834251908 691437476 705397355 790888494 879285703 888972670 549274923 730729392 972121871 955068542 925004955 156108347 378302139 351066071 349051010 244238494 372505008 963483529 778622568 476175801 807310044 384773424 163653454 598960764 112553818 903122398 392022801 110448434 887375918 387202398 935650780 459951298 488001638 594192080 990895358 122964922 487148209 239839822 406525506 799869788 940164544 180424564 360588050 666784621 851172690 305079047 903432374 372529777 439951167 643380767 288375216 156737243 272622417 574892246 681920325 813542619 847735605 821080825 767694835 773272202 571100370 217486690 173598709 640855212 944582608 402973445 825663688 900515160 738470124 597029631 861990741 960861278 660967656 723664287 816003690 327404186 516116952 285493264 232745258 327262568 583533391 801382090 868580226 971020715 530927118 495783276 809859908 371833879 609517517 743674629 619212509 917560602 435480198 295714034 839633802 369592807 910886831 591072460 615362791 345497471 465569326 523552523 231248259 989471364 786476369 178628047 420682816 731488403 652612847 710769565 447846154 567432832 521782819 689898396 602667117 475933428 479779065 779638814 734167757 689806104 576497395 829720852 615867014 660106366 999140071 745804007 483531323 592936747 237502422 295609316 377036032 233685493 739054676 397240490 587576948 466101316 430927757 720041652 688529954 316361541 599369874 215786176 833201644 113207171 213693339 943307266 491052293 786783717 704529279 319324684 910162932 492321931 418551517 670356856 911362978 757924141 752333814 110100931 140097980 103580862 165545591 688655014 725775439 935904531 560119279 863536940 462363184 627184681 860916097 545412385 672331614 476813040 154205250 218491316 994008676 240904023 173818110 703892313 824370845 668302464 871484038 229795770 974300666 666098281 817307857 360491154 559584754 132467209 300774678 443231035 262481418 861572243 828323231 575614787 865890943 171585990 354942376 206713026 624326072 727474971 553934381 708159689 665612307 551747750 539669196 170784324 572544734 360274593 287213701 249736788 670478966 508817433 838692244 126009237 323132998 839609511 597984832 816149885 287820877 429297628 827415775 911117274 532325289 312442389 396962354 630671749 288467272 850829409 231681595 536783397 219082286 753039234 290717803 508358360 320189967 738297079 663762461 417381045 152271928 315719319 109465922 237662414 620144535 675596844 596776641 650214169 382383791 905028633 805573753 438140408 862929494 496182847 120356491 485662216 269494595 984955656 723536914 184755499 745434212 988798279 374946891 625044672 166223947 823879467 769970798 473918125 976748327 662545383 897528391 738208932 662120898 611240872 297081487 336981419 919792804 859553685 535153029 380886766 801456381 331081236 462666842 515125393 243606257 328770785 850923609 186402217 889525988 939508720 401867419 841204337 187457224 290421427 292278492 326669039 877926907 869319551 704640156 908310655 459883807 438209259 212186303 767736990 639983826 845409677 821508905 735205563 387726952 978261348 330533555 713899883 994590536 141970525 721678699 547329511 854336985 992877762 678692371 974364585 250483429 256916670 491619988 769869643 134177562 378684416 277975698 572051427 721525897 827173340 737745142 797738400 274552008 859495625 253969036 742752997 473751835 623873811 954163706 574175857 674791846 653231879 675539276 710993663 210134504 101138052 253219970 768164964 481856864 449306502 445868283 279449344 782966761 574092031 722122155 278686272 436063875 128654430 160023715 465342617 757527413 390737210 452268832 136729928 593803700 880638071 110349506 115136204 703168310 462127426 432400437 609928823 314720481 442024803 419908222 851475054 665566201 196424019 442133291 158321659 951381306 813641228 284209536 578739390 198562420 264245339 264932273 591853084 417111089 123213413 130173394 686687562 740168346 127462248 645102542 565577070 757509499 966591920 212796319 781405086 549320976 957032743 984073328 924488400 447191096 632901686 809999101 126431713 526004936 812560039 270861685 603824251 223890869 500093427 107130622 989379524 783043664 131476769 182223468 345364322 856196111 703006806 249780668 538053730 956953389 130530610 722565274 585415940 897702505 291498854 228136443 898244555 549346500 315478247 687649844 391967464 857282477 379689477 307114010 429966962 450123757 150832164 619314654 998056052 575017144 508838168 189460359 277531748 459454844 372846725 671811814 889726943 895174490 254750617 942279648 819856981 150547055 116194319 964731621 879839727 448194121 614994404 727661246 109676027 378611670 174747874 474362331 759238271 804389499 738697597 218039794 322391713 320989111 668622882 476952923 236292216 563333982 660897527 316529317 192718537 735568359 642976500 324502636 712933733 953186889 698310489 233524788 655833357 179644492 441325224 497644402 317159784 878779554 813623354 786176900 128081917 515686305 170714641 408801809 594280822 300837041 276040048 979344348 710667772 874497374 605309403 990703439 575461131 914625485 296368039 280228533 147308105 984067909 148415455 168669799 485443160 730171927 912714899 169876417 946879097 552453434 771561118 230899626 754919441 834323647 439294581 561247898 547480124 805889169 547418180 690343372 200180906 745379342 962666815 688644209 167308960 944586406 904329849 527820086 670518666 757980137 571320645 253609880 879950865 356256384 797869797 138116315 218830343 752095142 806135241 941067094 579200276 187215610 844698456 763186741 321298020 596507607 976685733 146881024 513657388 325157819 180590734 919744928 825118168 900334012 504992788 951294221 883382688 349032731 217748154 382711289 775341579 905851805 423831048 542852958 685840678 929665189 812394109 460844942 868881211 547396928 253865820 572297866 363404107 118147484 324843417 231939853 521902845 191892865 277637588 453495100 989771718 334354824 991917998 626561869 665849821 884370827 582568518 526027012 519985003 983887115 306664884 205674842 348833456 680814689 723584426 467624406 266156254 167505391 731528303 964425955 541538707 962374640 965648899 723520481 434960840 791639504 119684521 439358218 545233737 904443783 439138463 454294050 569501932 170956181 150156088 676079539 695551371 449196853 487150534 130555265 910366699 194899841 739170044 908999268 383736183 320061635 638354679 954132194 677350164 393441448 302909439 274206405 152980758 547247067 651949584 586538913 486261499 831863116 692381166 597052186 135725956 129711607 598559966 330733929 481055023 159166224 777128833 197830969 412289935 242974713 648449955 463150725 645633751 458060730 566693414 772015007 284817816 566104396 787816127 671293614 105027554 215741333 285654150 960840934 950315208 257264131 804799610 543957850 597724936 507123166 626131473 710599459 753094598 436204377 754657589 865016086 880112803 416776225 585375753 680185735 321875351 686181980 247590369 741197230 804315156 151750649 833225338 225108721 839946581 712359338 426323444 647473221 825578770 366372409 443900102 192757751 489034103 782962672 754832535 642323236 184227451 403252132 938815343 813676730 361301381 177308352 556194370 152980252 577899747 588541486 161640832 584495800 538661444 393942053 687424588 236011113 675293185 983024798 477279492 656730707 339366136 262825728 680422670 182967182 393676290 936840991 394756570 496132557 462670974 445417708 415274545 907955071 979990261 764350098 666490579 554993622 988625285 796849228 419111325 252029573 572534574 562279632 599837196 207110440 731965611 858118820 168385886 626043474 792054521 174136110 448424573 181485339 504507047 729999380 955691618 619445984 140715709 516839324 961135332 673605458 691146270 750558708 662563801 893023063 535884581 515026167 322227252 501402354 627520475 578243380 464751971 102187740 662681577 408904432 265984427 897828560 656716939 666893011 404171187 256514719 957898718 857796566 240269053 605297431 256109247 492272740 817267078 852510843 251044697 341353125 799919813 311173277 278243200 355327660 318047380 525505316 263985368 860427876 264156302 769399822 534222375 925998604 438934114 759652136 826995716 481801946 349724696 974618384 545619063 701228757 535575787 319027562 615867182 852809451 134534081 279185650 394186316 887918901 667215203 444053104 970918283 668090330 371096664 737993875 912019447 236367233 201059396 721038596 561941310 430991129 247691798 592182575 245228249 139302667 545967383 466698153 348665095 512296203 910708634 132353762 128530310 326531882 905465975 277452502 820071737 443883137 124699063 797324781 924683714 432956249 265769274 992647629 366076883 152030369 526766298 614250687 553304977 215091460 159742469 128392695 414988696 148343716 278409354 703476840 655247911 187288781 537456718 516254320 369620461 488545111 712258814 505582758 330861818 420515278 824564857 126961096 445957332 944443414 552763663 960535155 469289914 424094821 771470278 642780841 262898694 988449684 617504286 108056021 943801489 920515456 668416648 296231600 524528401 527415893 348444036 405796056 194148869 852078502 726915296 607811559 586782773 478071036 765001112 971128172 440252914 822217833 482479673 925393044 324777633 752009952 233619609 593749518 827772489 544911530 481432436 193227588 156753695 755650724 537557411 526331783 473346328 125217246 517690321 665506254 439609769 206666043 268035377 866614503 625764105 128008185 579016908 797725905 321398265 132645986 312157322 815063112 127755091 735055667 281290513 491824889 996120250 657605069 852654102 246255951 726471521 702168740 250527223 957055177 799276140 643615576 421489047 805608338 672464909 132604801 733861333 311877904 126218160 654120909 166624268 735472029 572608771 812343957 392011789 555854002 565308336 950357622 681662551 761300794 265006025 207616710 307042193 965002011 304398842 568079932 560751086 750728446 818718659 168044179 389386379 358732248 389242754 416937859 170823773 810430796 747060699 926773429 955132324 458169644 819239070 845650140 371316371 903394190 723173997 992164549 153229931 984833848 719639458 319276209 472184055 197482715 731418491 643745490 667639454 399629132 691290626 556233879 913259395 460600156 929024054 984252420 690996317 553521747 673463457 883388616 729736186 527988025 486891490 680352528 302164658 151713945 926347892 801175346 522727732 778433257 829856028 943562298 644803721 663201550 203843257 875214162 840217695 662857887 548730696 388719821 956928439 839174206 929458289 632840975 748792832 751733324 332538854 253121966 804640659 442719784 382227700 669191818 790362126 796365784 790920202 119111717 627927669 336093635 395421570 838983665 417393506 654427540 993464165 253405549 187104986 765021470 621550823 471382258 789560088 771892822 842551424 883105447 326340956 317541027 895582891 723834229 608793714 618804624 788450491 902558143 844642000 554688289 137882920 859771691 596405549 353055632 693266957 743703157 730891934 609937989 228044883 379739707 622787853 309427747 248706805 459250212 337533571 420478796 780880757 150897908 759131298 955931171 255953801 498578206 109019065 583025938 841692428 611687009 989545393 317962999 853471575 979874696 538791500 564400354 244260270 429284951 874439021 708574505 612997197 193164603 184298791 132313274 335853105 856230982 823662300 353122917 327742827 133118682 831998151 703312577 888910342 716413941 685758918 431094507 595096594 824352612 811285395 915914289 615866793 996772902 150190474 829089106 566487489 624067572 356395761 350789238 930831434 224284819 606488610 251535974 899002039 436393422 523463844 315644743 549632323 540265188 666535649 966354171 858110727 664427588 540267165 975107614 999901660 240233512 272219321 425946915 760670614 818129581 824701461 624519078 866140279 332511857 662365664 875667289 989110186 993395600 783493978 850042776 576637078 742199944 633416323 487767094 917393030 314316255 978876625 853992524 915197529 566311213 505206629 102797373 985946271 664723274 799761901 434045215 218735106 361856955 918999771 116821831 150503828 749032493 767138840 810449482 419742308 641740444 959684214 654847928 404697670 467877940 860997660 693924608 578504154 995216975 950767185 955893974 247257977 227156045 644476330 172957422 736718333 167358777 560790813 275772116 333999369 777297615 678595151 976571410 425075027 777516964 215225021 907814569 322406583 699807233 103046173 891015595 478791250 967028180 302540944 846428270 114716490 530377832 710207446 260413568 215684906 758868009 357518106 438119103 565201695 946710221 791823209 695940303 644579499 119892817 856718958 825798484 746185123 650202720 131495993 906612259 140748556 774201584 114987574 297131142 292093399 893834396 759661569 957884858 181405172 559506560 855036440 246844411 790089156 939253199 306730168 201510609 707559862 158044851 241033827 737446617 400867595 762951794 702696444 278124027 333324545 663829288 582703571 918297178 625020965 950073731 724066675 100373421 380277348 265686333 213148719 897791348 128602129 278301553 222465463 320443357 311291218 373753535 632782577 179255202 200507395 256690985 705546767 881058246 917058613 902766529 220433670 926443093 266844871 859831396 773172692 726612740 477188348 912986814 790955475 188637767 217686561 775100424 724385239 384156661 285305645 362611885 634488722 579917117 355347108 715260277 860732208 227599277 358883795 832185225 927121949 138425373 976194395 148145336 110246057 548767082 211117322 507144316 118350717 171758046 721877829 686315683 988065025 435239526 562980595 917661840 645401649 217330292 306919393 963844731 294311647 566962303 623979204 598800164 582720309 518976821 160609004 418955635 384201157 942964470 301087101 314181453 743594213 222941119 304743609 682753870 152825693 808204076 513224038 615909553 760860923 742174173 396566080 476802144 423898400 479470096 104093868 367789393 222208271 252664486 127719801 247271450 612866050 140814257 552116291 434282800 592830502 713636310 502894439 247708939 941885327 107745298 736800877 611515118 152144780 212944508 590503322 966103449 195023544 528802535 114751663 275607129 459756592 165701772 537169272 192266032 130282674 926396308 627266993 579479213 722145582 489731534 525295799 561495413 749305427 580411712 199389844 795235456 771608073 573538662 619424995 757171099 998900742 520131190 242701942 101177037 901530697 494661328 995606763 796078323 630627178 241768453 114683339 150331641 806240232 103126263 256121430 694931899 239500173 449044438 445505721 630750445 459466110 847696852 249636428 837418840 499321794 298464551 849903074 693584302 256919447 969352322 241634308 404548972 802324331 308699797 157517649 433478744 269978207 985807560 747028729 479325210 811242551 120314857 698748317 940969773 474908256 748118798 749469579 927825459 641643436 994106196 764151195 263991629 353789311 362816909 491047548 460773732 717031455 660515232 979147598 958875779 606285059 481392242 930023174 404613238 300285796 664887146 732048478 679542242 769074339 930647203 331118773 278992242 729198887 515103576 608617354 299357063 654297812 286035048 619846860 814259275 231809429 616449885 288026014 702290788 928219480 959476742 278555343 966343049 832145430 434415767 428720608 930341843 763565642 914367011 728715759 824585565 960907103 250141859 634774877 722955609 330479152 988168942 313854587 129614661 884404761 602282491 776093605 303805301 984896892 668512879 864917461 133078142 489166936 483183442 215059601 991430854 431875530 323103366 979764258 300380778 479680522 741581123 637524072 840299376 747511150 590989588 452365299 477376294 343345463 212471459 208813929 734803981 979970465 744619778 169401593 687231443 334302213 754605156 136876173 440585863 321189455 274926155 808037466 955374588 438800006 395821993 647264417 583268987 363998188 399820159 883812974 460199557 612446439 943319183 182355997 862822411 209162733 683025124 247222919 611466329 562852927 338164733 326750215 243193466 142385585 142392254 662482340 824068101 977023513 903463105 547652019 646982661 970014948 240862313 852197054 859269689 952907023 999832491 277427257 603721268 205342618 606966915 616303042 846453264 672221077 944788913 686601111 340157729 141680188 795939345 826890521 142450270 294393298 877300383 252275785 745511944 174201807 798693872 769902536 767385338 755225169 640927959 175144855 557097633 971918533 852150108 520020536 918956512 736704638 737346924 377200118 285742877 218701469 715377907 250172923 903173525 620888590 850685180 764751778 350424854 758700491 473580260 969067454 435607400 248116548 302780294 660141463 125625040 746346456 743019822 126865762 561687403 836867014 494226840 635616090 720466379 953605155 629145866 585200037 843541407 317560568 895067264 626054013 405913971 792264277 967589679 529965799 557232379 804204277 576607314 827169030 548304046 899159967 620909531 584254171 706799672 666041661 153690833 892315215 641699618 879531897 180390552 427642434 323395103 224904647 420473568 826929907 678885625 183577850 463400589 709840505 578807888 991362093 972148864 725735941 866643882 961097071 213622169 111697306 501771805 700785289 710502868 347112002 145179402 938925567 793835953 577619343 969364844 436312816 844735259 752420510 374421726 715420782 106315985 926041751 909289425 157096283 925235903 760366469 542389508 205286701 769372272 625394752 648435616 120988031 699012216 624916224 673844392 591589171 972202690 591052993 472519361 444788129 448096648 314346156 880471993 499923513 980160626 410669954 925774775 589056514 769261285 163796052 740809360 403490695 307639723 322185091 441337694 661715811 664677131 708134531 488962395 936958455 923470688 520507109 111572962 750103313 447865700 654225209 151707869 581599400 382470898 666141405 876960981 245429338 591941132 776937107 196301359 434606178 978142469 551151634 933080005 128490397 850956020 839873662 842779815 187746422 106596449 880076942 436355434 427989113 886631821 773168121 535831856 822498629 856757612 414538071 379995514 734204885 399189413 502053414 807560606 674749736 150830888 973002441 171759682 925963676 648063722 211957823 419332964 676168124 538284779 201014326 124414899 805895027 600753426 803555722 377509124 567972159 358524793 560398902 671919913 731161984 931921696 630880208 866722709 708535272 561517159 224828218 474575576 450109804 340989935 715085497 880766846 197424496 765049519 465836247 159453923 430761706 160318180 331227775 803242585 737806334 529557144 901323013 893470001 990881303 331676277 971488638 682868064 747285175 999432906 609086916 951333022 376947175 401420649 512478118 647718139 174364509 642868614 324021680 940439823 336340335 799705796 300089681 347117566 266030437 531868803 200183637 373564036 477906211 809310080 326784526 474509071 779514282 430306527 527649443 905106026 343636008 922777177 942041468 483459447 398492791 604175889 249037886 414102972 630898791 494600430 891285349 198705060 160147117 123335920 611537034 147253273 486688189 570384733 398839283 513477771 452712290 492584144 990269638 918728235 632520707 130125585 678623732 607075852 508544719 462004728 923699215 324017531 924073224 618056664 466437479 566277808 320087448 719272656 689543976 116354698 351968194 866081353 770740294 696038461 856143502 604597986 400360786 529989392 584840678 494884382 527131947 897737962 498848125 337394542 113517294 292240567 796972507 199988929 787727631 306503999 794297263 220870043 334686982 650959353 644397917 476409177 310366686 405036474 718150699 629624237 463841978 910765903 556004293 268107621 567209875 743637368 484413341 131724440 830780794 458945743 988605769 276225177 992350531 471133496 923304749 150550331 820219160 390061027 161315886 189740252 116755813 864852294 659020542 547569914 446722478 107595781 144131467 238443545 208816709 544789602 704610789 564587713 946235356 893228392 316735509 884589521 841004451 870167592 372979871 890980629 506403768 214263151 945510471 662926818 292946902 355671867 189535626 118745470 210133038 843900525 931101784 797990016 663407441 282060112 526072016 972837644 502432564 146737741 860428412 778330308 452876297 819602522 465151604 186027913 540419592 882379862 855259339 721250804 381945965 315307874 258009756 870555189 102030260 325296217 732934071 495558270 804182555 442391586 498666094 748823540 868519577 331437983 922389121 896361580 921969085 740985755 135057429 771727526 411254077 382935235 253600600 621398188 372905702 699190293 158295968 673434791 947003374 968221457 183663671 176900697 950797680 189702823 223474657 170386683 912115265 184291080 432519634 558500299 297815297 948078896 292169635 820361343 703579406 311127118 643057560 259438628 674629077 925281147 834658772 727782999 559574275 912053703 943684881 297560806 914825898 988834899 970871488 575920432 698330880 664108328 593313787 803312973 909023626 137168581 889812362 978061363 161397724 744668539 443242332 827698026 272408017 470379634 557118863 600620389 431337915 996358845 625802303 369674017 609909671 240550275 117877141 833788717 206374444 942592703 958376287 790633927 937660843 272470999 481039167 895435070 641549980 367056626 204332120 323039516 357940151 798575410 624118330 114594990 795524160 664171828 328279720 834390238 353610766 659264678 910210856 488267633 480508462 485961582 980353666 315938394 268614960 655109239 504445882 311370556 572790626 945907415 766563861 189483983 158427886 268034970 303344435 318982666 157510674 422831334 290316769 214480379 767649647 153473618 996232898 111156335 712634737 679089270 488544627 936124134 368660835 692998867 552142666 620916574 871995038 329877639 456740185 439516435 626307837 968439914 323745510 690890613 903631326 312341466 249526022 973776844 332581060 711261225 458679827 872743734 711259359 597144407 149476620 491713868 154973858 234752137 931572167 782390223 545124036 674566440 652194793 802239480 757932819 558568804 311823886 366143210 827585626 314718538 655622507 711698908 545016856 222479985 479364211 762346539 977517964 211486417 651465886 941487315 753257703 625779974 743773319 273695520 981828402 486485868 600732997 378298619 961988471 110975009 607925776 102315296 231461358 326254882 592733892 685986425 654443964 561777674 725943126 362776208 208744304 627063713 265190391 365883341 621587302 319300637 736319240 183606051 937757444 629386312 256565056 348106346 303704199 627016956 739134492 826374187 189046766 149786520 638930936 280546452 456464939 318515764 269129188 301707552 787536672 410159715 670472283 227862301 421770337 795229935 643168819 663442505 727682291 625497101 702895414 662346154 458415818 188958931 813059151 861153122 950154668 723692392 587567841 969828393 614359576 107039919 783548142 234959554 968696031 287051937 906503524 218308261 815787182 979849114 173014265 696702872 521120278 691583574 430048306 176199792 569606857 575967375 458071925 843283533 355504900 118976537 146212189 591250135 362954287 618864937 746276174 935813971 161049491 908961173 261124825 914463719 381155346 437355284 354955537 404244262 214868021 488877809 843301061 793940395 540213343 119860961 146967254 535027741 426792905 914394487 929545418 565268128 160284652 284360613 981577674 379730641 584058568 541624862 516534109 328553715 687422481 615775677 343749842 280602226 534549520 821148343 211191220 601680111 434565884 804431114 339089597 617692119 856600737 763554301 245435470 445599058 169366422 105096658 380447501 250967884 465203847 186937961 633330185 868058361 658833826 720772922 566724202 596899172 604607788 767153996 944814123 776148771 775607172 565009101 638268225 349215116 671031624 617932905 504835009 312320123 421154781 283876917 787847635 199248649 340569707 491165209 665885436 841020845 907839652 218884127 141763664 851833223 345181129 769304014 109349148 508510454 410407619 311877796 790759116 313166775 689463571 212649745 735778525 491880114 918875466 840908399 647881944 159506729 138992622 440179215 725301563 524351986 373351450 951152478 672102167 418841185 318991894 428283290 814428207 312587659 802628009 841392172 927199417 105599936 161902241 286403645 612350290 208816951 522542286 996792791 429368479 948337676 917578781 815488729 436222776 690901526 583569315 330754945 505764932 843186760 682659662 887446983 406472716 772002358 832883177 732064006 320669064 716682264 134595247 355834157 585785965 596850517 894246534 924681542 710740419 526926530 408851163 369869431 468736794 298995050 608455362 419025201 829434184 899560511 635596864 329335951 753482011 359771397 539100789 854194964 563107806 383173676 825922836 709676997 593422877 993674010 970152570 112369905 450986673 601359316 412452238 734944413 348289654 729637575 358860834 137506846 950937509 855079876 578005616 718050401 325662625 347889580 692190881 291649340 785219176 903502986 739255873 582410795 372574043 473355781 981893267 612665422 749623766 474085111 274563456 448198393 228407739 793733605 873543721 255702993 605428937 819881343 901134942 478866030 211560780 890682696 419969449 335362346 289480859 817919086 429154738 590617394 941744721 740924806 410830262 810308264 374316465 640986072 940295630 724360067 504139901 178278888 252585570 991821203 962070074 113947248 217432156 496015576 352929246 829687475 254527256 606142702 287743463 908096538 476892182 373146630 347749178 702940467 277714418 517627477 525489230 223717127 833102522 334808873 995448003 598386968 433533089 389198379 522943209 716534977 613735857 224758227 837641515 378804159 170110629 653223523 867770142 275476870 661251098 135362165 828603870 402963101 267888981 311618899 292053746 972006943 460843627 814603088 921231337 695067404 227076260 312782820 318767436 819008917 949947835 190173768 396277810 168623607 615000297 821366397 410168948 344461896 950411449 967652500 797788275 511798738 571685477 762656885 710610823 956703343 551196672 813812273 103172880 903822360 942447364 157129237 821444590 142016218 383621493 451273254 152864349 246103408 679119973 775844738 749346872 477236956 405937435 691133638 849449926 639392041 381941021 164394279 978476631 186952758 195387737 354746403 609002699 222521693 915169136 274129758 887821562 975136020 911083820 370289141 505381363 202591900 992419321 799311459 704898055 520118404 170367543 276821411 738793097 544400160 421829361 945286445 893201756 683010158 466740711 145736243 917482150 929856129 908944811 760684440 545401243 414537543 481091167 743759345 482868970 817456801 715544430 407792382 809430120 659096790 479872584 390973522 727289171 539144539 198814194 617136552 359792865 595086581 585970190 953014184 588437587 429270718 230838731 601314039 176784374 352148294 431401673 534010730 447535023 137989433 710430074 504593243 600195268 506570380 173035463 558921055 572882579 411483912 710046062 390921267 435883126 629067540 320032160 801186419 961035626 548156034 903046385 575574241 362997586 688835901 916231334 306880514 964534042 615792022 169048991 250705637 729479147 520147803 469459519 977758852 847474789 961665177 333193811 650273101 974657261 426448586 534450606 350287736 801434306 493853635 972610227 197055224 947639281 902219479 785490882 450013820 175668874 507598580 441410925 955329589 917676503 152207652 456917957 235334928 740150004 292640006 826452528 633934594 195498509 479325212 438262301 476139960 135246308 803420040 840196007 822620456 657273113 372115089 189008478 228673808 349062588 920303679 302586842 155957884 169171675 845465701 879601126 638244129 173315187 725215813 500712641 888967251 479814659 252419685 812682110 333359489 669747398 217422090 475934825 669298072 926249253 290168298 348327516 303003456 290875546 760898980 652333374 247626395 857908858 525665023 664495292 822213543 533011768 616263346 486861231 473448627 972686892 141208739 986236325 472347749 987763169 920665871 622096584 475577389 478482172 946441448 185009431 869533878 848475836 290551305 708792871 291062238 432562138 912621081 398508418 247057602 268712163 483946967 963245729 337712196 921503043 346864335 156739785 112118529 766216160 499615027 392872818 566079746 369176553 323016818 690947512 573009914 760691833 753183287 284218413 198293619 275354663 288924642 517259248 978162660 980580649 392741805 958062332 385426780 971199796 364730206 984370797 119339441 262950737 479425695 246963842 663167336 938502802 972778702 829094341 584932845 452158974 163695795 890026254 684520185 918748526 498632551 234945692 814837876 472075081 819546414 132687265 633477321 359741971 981517795 260104569 497675046 725077961 281768358 643275648 241866863 386294691 776438460 244949230 526334383 161337588 142316048 813426374 322359479 619020795 229521606 313592990 798137359 253517537 436911877 934546056 116035606 326683744 761688215 562247654 709658124 694000753 918969125 786021998 631482095 550747940 418503041 643736585 316532564 999463754 722274117 245740314 144906344 572173383 795903214 954124379 770035732 149473766 594660704 768455662 616680671 401369918 444226865 136322312 565777136 477361068 725029688 997499830 680330895 480133512 767042386 402652026 929546065 734172379 477434337 837275490 250597355 841146317 591819888 911107558 824071920 368028284 899906425 971526452 612262951 483395676 650600841 715051302 656365291 117226645 311185005 308810090 646369759 945148523 855316807 894618456 500005269 502331666 518462366 925215599 616205867 571717558 514953978 923191579 299839254 571498756 194356241 454509285 164178890 427081765 880893324 624261207 666128687 613368047 982523404 989138445 158381471 418158606 536645677 940268776 353347202 218841601 765273115 359274532 820660113 666939516 387621820 504946549 126557129 249470194 663653994 899502132 388189428 438122695 867506287 716590873 388041177 574082753 611481971 611511076 403931635 549568082 933319751 663449720 627977778 648383838 874286654 744453613 241064964 916646158 346566829 120515169 896873526 628200796 190643581 809176945 471831525 922980768 132003386 132326172 309616680 816009370 451338359 142634416 618938553 663597475 680076248 695635255 547233637 112302372 690952639 275449417 289072425 723462980 940700039 365661230 472203984 474174491 519884024 256508168 405980173 831712806 446560873 232478490 657740941 243502997 549734518 666200950 757670199 777338653 650741943 323938367 383591414 219833546 715087577 473267506 398626953 149096496 990217254 362323402 649548673 362427662 728817778 740345721 569263371 272731029 510363107 384955057 573172092 912237836 431457921 389419696 786093004 830686556 500438512 309790956 311738472 488265633 961352759 267290001 889416210 411742848 499799265 483496086 907071855 807282531 980789075 518832396 923103008 803054620 980150396 154564251 585389637 429417787 638057029 568985702 210758426 482303801 144751789 706551882 353694864 130167325 837817687 847823710 770134923 624543625 848778632 226818051 684275160 781878718 543446612 807224361 773758937 916645235 786911101 676556309 442179058 208879347 624106822 802471841 728890864 369820715 176538414 131530736 529100219 285838972 952854891 722084901 517205076 270572616 271260726 276623324 633121384 900219106 541214751 159587784 372568414 651581500 340662182 292161625 336292150 587525305 562410374 689482153 378014335 770032709 186062328 630879759 540820716 574298446 644018795 551129754 657337629 319982983 335009145 775888064 724190462 917070596 284081178 985927725 131714753 230734377 495632958 251960489 615911511 296336908 453735084 704620344 935103640 922417981 955465589 428142466 704683382 401341717 414316880 137816868 909727004 699392903 400262901 534709462 326316846 634229236 879944475 439847679 705438844 842470674 561262857 498075730 374995052 330054308 457691666 835936208 201479008 745546841 832246717 652272060 198260000 727860353 669998198 403021765 969023179 250161171 443457494 893773422 775764568 500310572 384636843 766423523 272508285 862904682 322941400 155404566 256349082 792704952 353883499 501056740 469128598 772386561 532825503 578448065 577642609 483751409 354284697 716736476 790631579 752734927 360543870 749011439 307446941 399042690 134571567 567100483 475349622 380382459 270100687 149493248 811322001 958962237 794968672 571734722 755354346 588895342 271627786 969494544 813171885 872764988 438695977 642884846 760355941 892824682 662795426 568524388 869074624 670350731 778523806 824655795 621280403 589216010 262727109 965346917 351101222 894233882 448319216 883765155 605399787 269235906 864436069 378238372 464820373 225185911 774402619 160800631 963670129 226385962 602428569 375077739 833611063 912192453 591001448 912328541 456932237 594523079 529284335 172188665 313823429 440343908 419274047 210674378 770069006 600598043 587122462 235895620 614288453 436250648 200614600 554851331 748001542 975924077 350941478 629220175 748062652 424111153 956272916 446915190 246194084 196991709 582114488 559105388 142668003 445652656 640316263 274778435 394471461 652069102 205935898 131492143 582501167 284459499 141810487 303632999 793284662 552553581 365773075 428825365 744075452 404931779 952803842 276104929 914485335 619860871 761484146 976226569 781900628 851771604 234351733 226843264 567486347 217925958 253748493 629561601 237398088 233381429 861111147 806284241 590625120 335081796 392846627 455148227 714140442 692487313 522064753 505397573 591322171 796503420 858397126 166806839 817901813 612884503 252942807 385196631 657998624 977344332 303611035 535786849 661791726 252620408 394902334 627976510 719727911 277961069 848308869 362965943 764329403 616159215 865878222 493659932 435443157 635614646 717991274 601957437 648940017 276299926 919428917 348569498 655824215 665443600 763746341 545984099 567302993 372188179 326670732 370175386 116334383 803141122 998113729 937916369 234399330 675964132 598862307 200730713 996788195 263087545 425503065 586154274 284313386 277748451 675187722 574698184 383511263 814217522 445357863 613231928 389879238 173245154 575324196 470793170 455478523 461383903 926810420 918621314 795129074 415407614 626450025 741543280 117250471 124027978 432946879 523324827 865527275 251199986 998349699 853635381 403269700 734852485 843128303 972628514 846113390 883943815 734438659 385293415 248518760 278869066 878651281 477192671 260976671 649386136 527092237 313077389 421940001 322458501 963694283 722488077 851972617 475116689 359947044 459637312 596483990 283638370 538776576 281963847 581042321 816331689 435945219 699987811 544122598 720340885 380885920 938709378 341916139 842731404 256751138 984109218 244619939 190372709 240711944 895519879 848424294 412232988 430247454 653392316 131698257 944490345 706429149 289118581 382480603 742141489 109524548 662989284 511234714 131320653 181680565 632482113 359245953 694309754 845651368 413145580 291803696 736257371 921331923 249125835 129767483 112693844 357192843 590362210 100029710 498228242 467979712 908968409 337889568 611605205 766886711 444248974 290896662 310495168 754215881 649513297 402885370 719471493 303638652 789472306 412059350 298006700 596434092 759947212 950463467 304171031 977787066 232846884 747972969 623098805 330253683 840332236 611969211 748420748 474337950 611243982 689045750 388290350 353857860 385673040 446310454 969839124 281936721 295420734 363319976 745196652 510072001 584283826 654350101 901459261 245570971 605386916 531917654 204097821 421472643 768136392 446907244 802876273 941034175 679792463 436264957 781579629 359752174 515682949 624940859 922110574 645957842 223896266 646846720 452389247 740799306 826560991 323619115 608639593 650853172 950681419 655939645 604618154 351479645 737518638 331652571 204846277 408509225 803023439 414629036 294622839 216253941 215778497 275200941 982454612 733091081 107332375 803897570 749543318 961192607 932595320 574977176 397697453 666257885 589636109 793727184 594103527 166048275 219154460 500361293 804800384 183294184 176008385 589163950 981750683 209671925 554107997 712470171 597186658 998782107 291764626 614056168 839713611 405936703 623478287 978586371 410738061 361485303 672233450 706279423 567381417 579324313 268730605 169197327 374862074 742163528 269258646 392535177 373943480 809912041 825606829 533234496 396198784 121464579 921150453 787066610 852330153 120876284 979237798 504714576 755791046 205196615 886685665 486883727 782206208 454174484 607580688 928475456 524953184 155576145 727076623 212925116 769316885 392395775 256452166 903253465 947710974 968409730 577972839 198896398 345769094 195382490 554258353 952357970 506870872 506936365 955126209 101516823 814254421 425005463 375234262 843996509 751582184 347901033 918684582 853020232 985411668 588389839 792576717 777563933 679489152 754793371 718565608 171482851 221281908 167492743 943524802 937224907 406148075 757460954 762720770 690733713 538028057 230549429 581044596 340837287 247524508 912365225 861164161 209718780 487617265 500977001 688483839 109561596 983978330 823515275 750623482 562010690 168274065 202415020 797672503 728743950 915428935 434634910 795748604 560944929 365704304 346019699 554737329 623660436 806897590 645999410 690064143 261130699 649463194 570714995 431144967 257319670 513971158 567600452 127588282 737615463 438201576 977847303 650354042 621028891 785705385 353168140 791665941 949608281 849311126 990351655 123205936 162704819 575743433 487495147 495606517 384768556 566374268 720371361 490208569 272581340 319166353 800407736 410683654 395900052 815601744 373527402 115838684 975601687 372468711 531313697 726457471 631815722 562065807 449174580 581343172 362391307 523177585 732310969 649472924 471613064 757334978 556899172 376374304 580756865 680681089 659176932 715973644 918227914 540034015 136413643 739714698 195824394 243239300 834148379 875183549 538152232 487840145 705286670 818082955 922632090 548814113 907392891 494834570 117123982 996217228 818655650 515263335 873793485 752462444 350460004 939956362 337935147 354436205 738771385 907251783 193373059 510764922 971184097 169727093 266333429 265189832 156259589 376311920 720515254 376721532 390737762 219170710 171722298 906867383 709696595 987106413 283716288 214135074 717019884 892846105 625827953 193859194 948614766 373543308 463465957 245650708 818878360 748714763 757324539 651011084 639184887 643102594 507204176 663952667 681194458 608860276 567691338 430379244 233585932 557145086 189973789 130855590 335136400 256173880 169393256 613946874 932300461 480172825 638141501 310414228 584796055 482950451 314140943 596382123 719159153 255285671 451830958 718903241 193072898 196972314 970231754 684931144 694919409 571971074 544166093 737109276 380637674 791115425 355554301 572874539 748114140 697665764 549269423 511035934 106177408 140967887 240689660 646050040 271479861 588994798 115534029 838559025 971661353 636567414 501205589 119025583 853460520 527870349 199360434 716181628 174110099 299982629 291636307 224925606 841828194 936760588 491324616 453320211 124899940 378067821 672572111 473347384 572440948 129424672 266706190 270356022 455152354 973007174 666582218 942454885 773797222 777567846 141998735 992888245 769982250 726066843 297879782 868989365 154025241 782509022 125069423 868693865 987298458 407732250 614437304 373013128 222985748 487424783 315676307 525888136 498327911 291244005 332191713 936934362 842097765 997551938 780973138 224248679 196338414 423695345 275099975 372076675 550491896 122955978 677448539 941791501 948814396 508889692 452773952 461740721 695025102 780657354 184773206 237914406 997876245 943939794 236358081 200081334 615837911 485838166 160153413 876783345 956876494 887420138 961325966 162289144 203076095 805729587 662963112 160218710 570442989 875873378 681139682 783082697 610806168 103901758 645820041 158385593 160258546 208744984 349216724 811584212 394998999 373514711 242285458 420019458 898179933 258825719 529310393 815744639 332240406 807310859 386744216 897885939 415521796 997264403 437316357 641199484 728007052 134251535 423764555 311395864 506676179 816963276 996957534 774414252 345907408 187355159 958130628 879840632 738603116 380326267 890073974 665821583 543309580 148463834 676768594 435027128 226463307 921193081 618527499 373278625 924176028 178310453 367393191 687288902 765019150 564957520 956967866 397470558 974478428 831493021 348939070 278710548 708703920 724199550 765743278 914379435 174280345 769411554 210496986 894221902 252423374 126563264 835425048 184053638 248030799 133444990 231800220 616062531 396328408 130109900 231824946 749992176 616089788 601660423 109745036 397343508 497299531 132578413 213468566 183787446 911728514 307156441 295721562 220647990 940404102 303516144 304309053 757541572 196932872 748222353 764552855 832013089 461461477 126108523 363698173 981679304 500764872 103061914 329757049 180367957 934472921 471312067 335340644 850161008 678785834 518322439 658082824 592672620 395761985 100681283 640188899 236145497 411913945 861347435 931881619 284009468 991616807 454198189 878504559 914841640 616799046 885135885 917926312 927345719 917949687 515709504 859745824 283585057 371825055 938764658 241738420 729359632 891569676 561082811 564144702 985848690 753975370 729041982 457432331 745134494 691791529 188243972 933721373 838892532 865535545 350656325 763191964 114999862 132501621 213250525 897480166 986410554 899803329 991979925 815302673 937440432 778922257 624307323 391903979 549791356 651790418 220306285 996568098 859173316 936997849 632125622 793657364 458883617 863474590 861612256 771599173 242612060 302723628 565703799 337636726 250864314 908760848 696000301 614929195 395747830 971976976 581267690 954976192 923527530 266722358 396786392 433650501 650377990 765276134 638731328 977558978 908284999 128514014 490886384 882538066 764650705 145661988 976617999 816002115 994761636 170184122 884732577 741037868 268806543 232077088 194802527 713572537 968525404 879937348 856769427 828697091 200759798 118213226 140813170 241815485 127683314 928259924 196194324 313387912 472343451 586902772 576158155 806326876 746916487 972392641 529203151 861370979 185840230 631881818 965833435 116106921 136689285 634959028 886540262 905949110 341918215 280453634 989862233 684278809 347798146 687248748 423920094 487741823 346636898 859203682 191251743 673995940 298266143 276559335 382492286 849843849 390407568 663765359 811822823 749434778 765160666 199102602 289882250 518434308 977580222 788916027 197878464 524695666 296862738 541156721 949310410 959465524 384402033 718229567 263865528 665171154 326116125 433031101 548100424 633556703 920610905 258935539 778297212 737757007 622285784 885775669 521911128 847309730 473012358 756789576 284051722 432124219 968391770 194404911 854949184 282938059 235419977 271699271 719592849 317751058 346680894 209244445 111687113 196361374 235559637 245302534 314168751 221748269 820292181 877122590 857835203 786514086 672900522 634408103 427741673 952174939 378621851 790768204 947163667 240292725 226894065 970389377 264613072 705802685 103819704 787295874 854055241 230476855 146175158 284038023 921581852 749724644 115319548 937271051 141481875 992604428 256695495 299837876 305335668 277084639 762844252 303918507 406302218 603180677 675892461 447219903 817642618 603338168 751054664 712486813 686612910 734425497 822382876 145374268 875716679 675878847 314331868 887632216 222606602 114019306 223986341 112500379 171384393 868824065 659364760 494894741 696702264 571065140 628538714 418741626 126610638 641329956 857224043 907753237 660047176 705113494 547420223 284793893 116259173 907391430 393354953 458796083 406313104 884703282 504205779 943999284 522058945 981701306 879911041 494959528 693273941 745969861 822469471 240399477 410783528 495267543 315266915 523942582 494143346 580719118 775327463 332511288 244905466 717300459 229689889 418069541 757028012 751245867 180951475 264407679 156616890 649294964 117455949 625801229 551621058 320469789 765633465 167309572 993073915 310021936 315291678 921765497 626580290 914409443 111484968 779682452 104521611 462882381 581417196 353771639 366486702 396105375 404592799 701271528 126594708 910196926 536065064 195314853 185990626 849683919 797960019 658610020 746902761 449798282 484953820 461065567 639259505 923304883 627086085 195622223 704217961 732672113 764836241 925570534 383105537 723271619 167954805 815558993 467457627 158954500 753502668 942915882 573154376 887566438 117248030 878979807 735070675 489381529 575627167 315023169 183671799 317649458 828789657 582152083 196182812 971625429 923197818 517641202 547730986 452359872 419619335 346958258 738478932 832469153 435115675 482203319 373379407 415616798 394095831 257794905 621768384 749625756 840331812 284731306 370227824 963345949 972885482 781659174 780878253 617500431 755227080 561710488 255262316 193625867 632551716 846120301 736863399 839530353 399691740 339418189 542753443 340097842 157294949 796944722 310069865 330001395 582752180 100415626 450665677 721496129 721855071 274449528 445062404 100715703 555375129 680064817 733645480 378610555 539500786 584177840 197515059 604096578 347746500 493274765 928593699 128422459 640759102 410364895 549959898 108121862 586654432 561275318 771504249 968028095 351688755 637695567 773741033 758381842 164475507 686671835 838723477 993668801 922180707 778470307 445810594 564337143 693055239 977402074 641187967 536836945 132800387 456661697 847374951 156065690 593446704 798038372 395934725 810040808 242721093 942692878 436405192 111765846 866443223 763784134 771809983 327145447 721867819 118193982 178857127 684651117 160643568 593413322 916903767 713203419 564090939 617992572 724602033 828057407 549757504 730787648 629003263 328303750 114673525 231050204 722783778 283596999 709578899 477699490 293691105 360121215 510149633 985192135 535007468 952989951 890632830 933824287 471018907 245992623 992974648 673381293 549616120 885634179 419440308 247892788 425402122 469009789 418984316 783513839 239159826 991376428 939278729 937694683 743745068 800456609 957413369 363875016 603095706 809918667 576984254 168796212 415208303 121678724 566729755 756862085 509583051 376346793 956068268 958446154 619628050 276335149 220199387 352894475 327060181 242600347 601352873 688372376 766179575 522729727 335909785 278788977 158563339 331987003 717667937 605009612 961868153 570410802 739057653 345455214 293712450 509812462 941218230 218247547 854793360 424527608 365430653 981632313 890974686 369638569 779768109 623092834 106456363 906430390 858270852 142744665 534645305 403601278 362904915 165416767 232375357 852590993 260248921 895807420 976357570 606690172 606462293 706727880 701056160 366322619 270380006 421588547 396698333 416227835 899500014 958697409 805768994 760574276 806823804 559871755 500239057 476938870 633890000 468232957 719336713 361872633 223412189 458476315 206257169 244005093 797625585 964994032 445182944 645462493 747767742 794650675 350081515 229999088 955134527 996435599 246550523 172366437 839454602 260484140 935527112 343725895 817760691 788738936 335894232 466717576 247138661 658900184 867779719 844008607 783503604 424812491 563043553 386288190 126400392 581118101 226168322 524151049 398127469 246100748 755721571 672107023 276265379 231174304 664677208 897562921 461574339 614229290 224173324 989133861 980910008 934918293 680707437 262519550 602045669 561777216 844331115 977633188 504891359 480190920 872835295 918121051 870680644 851482953 763799390 608431420 375232533 275577682 957502937 242949601 322965361 254999991 240924367 476105126 856594040 199258799 864330349 684175321 338842297 559662106 686743940 729763605 544931148 503539090 164436830 935436219 139246489 389138954 356469926 107947684 174322507 414204460 149792479 518668741 171295611 479769226 748420694 721776758 153130242 561095336 156581561 487749846 867299719 198147480 804584156 890195223 346962698 532502284 850382061 457482312 809661978 457953005 363418262 829187829 170343303 750759676 520975862 768373817 418104110 854924466 433223842 697235701 417376657 378597494 650182757 970737585 184974247 821827758 894567630 565887147 596391807 731118617 360298481 715480810 454192743 658707749 957694562 526400034 190323157 977493368 898797641 529072360 444080673 265506915 353138899 356185871 653264671 464931512 567176243 384870119 237366777 215985994 686334395 570062313 423260208 618323481 113317539 261341872 492620484 981111650 103654696 308383745 386768542 731587841 336897983 758327580 636194325 686157816 718392747 312470112 253532514 789744908 719296538 393796693 231929335 475282507 940225336 245416440 800785766 363166963 582811893 516792977 748924992 913326396 959049255 231855675 205381519 341940308 490678255 525703149 889381111 888423744 520931649 803805841 495190992 412586397 398587325 142479241 770813760 371339132 845005296 798310942 958082495 756091396 566308495 611504521 628592487 323038593 547113573 324641534 250021126 668309993 446494260 255325531 953903120 359257508 787170969 980801016 670669459 650804052 817377204 394245534 675544943 249434696 495574197 903498621 444675285 625931330 466585398 861231071 856231590 190317970 110001672 701765664 533256977 491071605 484485303 747466423 519259473 278806335 873629934 859955399 231504730 259371185 352856373 602120994 453204743 104607532 407176481 213429284 374250995 703993495 727585292 788114291 939108344 560156333 498010408 473008857 466869265 766830298 586490213 751093116 337316976 815492065 691952716 421976240 918943266 580659372 395596467 888235459 791958256 718632914 334183680 575221225 402514103 786481923 330992344 591194668 845882468 349939881 501064676 850883046 218616602 917335073 589938210 910362452 512925333 293618327 949465760 776360239 731209788 234619179 652240171 182745034 820859299 635013688 259200115 968067199 286592513 790989857 627462933 429365785 232352326 230326134 124205215 551180002 304329960 416646095 595767322 659483342 483989749 780563448 574207584 484739366 214855079 297305408 530374552 360497159 907295421 177734914 646977273 993099658 771245170 341845090 661016984 635942120 639323014 381748937 125760216 801699480 934720095 616019963 708917318 604093703 576194765 339554320 808868350 173182104 466090295 966546923 298830927 455917369 423655468 690194565 740908490 762664632 703152355 652023038 335344893 695021150 491551022 804490083 715070249 702545111 751775957 490551013 307360091 176574567 252882484 112788539 429135066 528048040 102078802 540888163 538273077 956684378 788300800 316317154 256577729 795039757 331781708 587457265 544249352 749586705 172148535 426382088 265821621 107073042 901682695 193430168 446731851 807476363 299480904 672126437 864898298 219061457 301789475 580909920 296183895 312168897 349231522 823613783 450261019 654279556 518967906 158552937 108176209 955189044 182427928 273127509 154855495 808468846 681569307 560439803 688742818 764802261 624680061 157185539 621170736 199578872 774303238 110677756 969742470 891739943 368278242 548587121 478771356 146838307 582748296 814673795 642750613 561536831 371984322 831160137 228826939 868186415 746395622 593617166 510505951 864065480 659161076 368028970 795358364 806115653 733973893 958748828 504236069 856687999 926117197 680644997 515448364 703584608 780270941 975760583 763521802 728203622 769199669 250557657 710105763 244258962 793185263 314698899 377523451 199861898 472436108 328693739 791010035 557029485 889781525 521721086 258848785 681372530 895524417 679892315 276944347 364240071 793944795 953921566 842794815 311739564 908234196 548720397 335885672 692126226 419428588 241716474 682794362 672305328 588354395 590185728 484951768 341448486 127752265 441115241 387603685 789988001 227072926 185076213 685373779 175757301 974173699 454584907 430252122 545040151 988348126 660657059 579521345 242550684 330222911 930507906 238334821 643197812 438983157 786100602 248812189 255335771 883124293 335917773 374712972 660113165 174362743 446435276 728309708 561626471 734143204 424846897 260742438 307303122 807561766 902018839 731460818 596870805 333513849 172920511 305927786 771266485 227956347 188119416 662009109 275750841 550954773 885128162 793690043 276858711 485734352 816897224 972393979 249620030 581544869 311674128 749493903 121194843 599463323 133838484 321466199 950299910 753114995 149655584 370592241 383470996 851386583 754057928 865030078 375511176 823461093 396026538 190120337 468198304 376036682 905453400 694723598 262205252 537241104 224624779 898522903 454234100 808361444 936857263 716528798 759379839 450444019 844655310 890085665 144765714 565662710 366915811 206976924 116719361 449421266 321338839 103243000 298740882 678335355 334917853 422327521 298975182 328132876 267404853 489969169 930037280 999792711 348763179 553508793 340315882 381144247 281698118 605600775 292749153 103830885 290134106 921081547 548090114 109497681 596937106 658105162 918447974 734443815 461125065 427451383 749176264 354587883 694341735 955293490 288072586 532042923 907202447 654301280 254081195 502299297 489476076 203731681 530240188 387420130 385024795 954399246 819074231 163051192 922020517 997553458 855952370 516386111 735264903 913255238 261582875 364725743 317254290 541489961 994069302 178658831 749886725 751015912 433950575 333147660 931239042 127813383 274156796 520161690 602261086 982156056 220875854 963474791 183960444 322777063 834276116 433412092 737737156 368708454 192043867 940833822 603309712 692143340 924604181 253043749 992471545 152339050 111224899 627788280 832964576 379362727 104711835 596690584 844545112 417508821 726416773 708693741 918932125 184879315 515004337 138805484 176015864 903880520 297837056 758549757 640588404 882956489 630710656 554384731 582224393 132078975 927578991 348168497 776163016 272269396 452891879 239897920 799223221 928588156 449659506 949329748 612318101 313613128 271975040 445040368 195961851 420128948 979330683 220398299 543955466 880487679 873819478 510065232 204620705 753631869 795830525 380596898 216640073 118548005 447892752 528738733 805035925 389839109 241342727 377461039 436618132 530019122 863955536 179502135 674913714 576250991 410269228 277056999 499437578 808756998 880385329 329980781 271476534 330674227 921246380 933241554 702537789 977555244 940976754 994009721 780999086 362896781 226182482 682044416 493343570 665954668 679656784 400418592 618930756 337451826 242711216 917701748 245915597 372135718 951469367 455222485 379178480 504546700 394884371 891837992 403752170 360025730 603686697 214531126 114221981 383567923 310792280 329033200 348744183 996165360 393003134 421894799 805021550 405603573 400494650 271002104 470830655 667627110 987161196 545262246 692907011 674734307 309669593 247904690 366060120 982022174 767757261 274624486 756790505 459916427 287256417 366882861 427567240 419460709 552085954 248892010 890991722 896790734 340323652 720471577 670034501 126333298 170463020 839285605 994038494 171626767 369393410 207335574 800474584 102549240 252608136 819427974 543125755 547132596 839423056 802781299 436943670 607732633 936265285 652215533 625447399 381438063 624143934 522493578 564837424 428440009 392308087 604961977 880648446 672207703 881990020 816552655 653258126 108449562 138043482 181428797 235074203 229375056 629755200 876106999 801179147 774613802 465158231 208268219 453601346 551093956 452386032 636809120 329283130 527806628 685420481 674065638 747033363 813476690 394037250 748015204 308954938 811198894 349197714 781536505 806444460 883549554 921655978 108810643 247392438 387509457 542657815 452429470 160435451 465546811 286341020 427840644 397098623 978785915 261830293 772001972 646268189 257488877 892017270 973981569 510951737 236982260 742452446 915052624 348679017 892121304 767156969 210842272 298396422 959307621 564833560 385743034 360906288 632925124 232509836 406458666 220674718 647813126 854602510 231268526 638310468 817871190 129551814 981056802 536304512 825533321 208033983 874108354 297741442 646076614 886546485 236575656 349140756 756221736 300624344 798899040 366958461 852353659 529058205 820632575 760987393 691442871 689715093 763852399 760242188 259382428 203125995 229563429 542268894 220698189 138758079 613749780 772814854 191279495 974554460 288526588 573073628 775967954 147332379 520763738 960159752 263429928 870941134 998454551 144116984 329216206 151037971 236274420 716621168 648234050 170716832 892570266 404117233 962302877 393828104 489226463 754854855 684529946 428926228 518672961 166938669 671944543 220604799 952643230 490660904 108022606 776643787 845941656 607035062 915500205 174663736 130322726 615175769 634892102 726124543 346309750 677504526 206521523 220771584 697652143 963782740 393819218 143467107 855770959 328735335 584395365 405403913 358726319 407055752 630813705 603810543 233750216 636118872 654075153 377204967 588364182 571471835 480826142 551063465 206639344 801612466 236652547 866699458 106881162 835886283 882966246 170297540 489248659 801474155 824587269 951603353 518460909 265286269 440287324 638196780 569249606 357594190 267974661 928319711 693003533 486407629 160526468 772836695 906063339 429637813 927509909 407425630 278701701 852680585 359931410 224700046 869792153 975399453 841430165 804666707 385696635 101664132 230409457 495878392 912626368 249418445 695651453 164892132 613029002 991117124 787008999 687579944 380724742 122457971 118769163 611026577 908471028 766466618 911937460 431638269 530185199 544656953 603904067 653189155 125568102 656712689 377578849 612510832 419470718 434973772 905483636 950072810 258702594 417448983 221277146 749556451 356234413 428272477 617891012 317038725 695659620 376861576 177700083 251130579 998771879 700132853 455033086 923616101 374256178 381342986 485973612 175596013 232883140 976486445 491362583 201094762 758230457 443557141 776398038 732464433 539997673 871754318 912676662 608238440 524988997 974699346 472487553 991740623 390641083 317921001 110960289 418623388 125120784 367876442 482776330 620090431 380720939 659763320 466591659 722541414 502723141 259296207 159840775 809725607 214342539 415000605 370352493 254445079 179464684 257353875 748509029 292760281 582928688 841212744 175057444 777234454 406600403 816049790 221609005 249448615 558527198 622808577 351753965 417785150 305240437 392704273 245905289 716854444 691989720 889900135 442684525 446235252 447136507 655235238 807454030 504406219 309745646 926179698 238091518 920495783 410005296 132844520 970469592 476922343 374619109 216813775 741813979 255229551 341279144 532317650 248577589 543181468 178190806 686893754 839415558 150004460 506510998 273493931 284213651 363427121 815314710 650479962 309677542 959727590 945265235 720745109 951042366 808022805 824636716 581099339 781805420 616608043 388579379 422932108 657125274 437630730 777069215 756783728 386770983 494908718 562962402 303099759 437856296 133677025 572063033 504925487 202007164 330345376 621318026 254847639 152215450 848650856 850795124 977007976 730289322 337820594 124079862 173440179 142043564 717066551 958894205 890177052 292471460 455219975 772165025 831121108 229130578 808979805 498522718 533990341 266092887 125470118 703487722 746483927 596223048 534789410 193098126 911031211 920053739 636188973 897611043 198694529 904512255 406001472 402238366 671319258 246685137 679859415 240978762 523176251 693681108 957655701 951058248 359326059 698917159 589058196 696489880 677858897 179142637 719614900 796951375 195023558 806983324 440792596 547477659 274815859 653711622 311395307 702513330 427976733 146786432 493339754 909956556 218619305 672064982 654827293 526804915 245673677 832785070 613863694 254359455 730135843 659580867 393342140 748799795 498589414 857126440 396935001 966251592 312396068 949856697 548804908 990725548 589626477 517716050 621083169 110783109 915694285 497700353 837639872 986462911 168197414 709976641 691233513 804476854 879042260 784183526 145570742 550446977 873981850 840910723 538041292 655605169 332619698 238429953 897293037 288449618 225589014 458825440 763085816 936096593 924871178 825013930 209033346 355065252 370109852 644137346 151590184 790362677 437092726 562208253 637482373 313674625 991544085 586436081 947011545 502100136 187562755 734383752 121963970 972985224 299845327 555196438 816378908 415595679 845465793 507226970 936036951 298140874 616799088 709897520 743938601 739622314 975646853 997720913 424856799 307098285 443668393 486730482 724945703 428354112 887005564 988726650 315400867 250921194 239641824 131768894 402499030 232608163 505828684 600797734 203857103 333525131 214148664 651055943 479445237 265917890 293222943 881372715 224269152 886577800 673765395 934662596 988161868 561869945 195328276 814162201 270551016 402760163 647357969 668286609 131162297 210800866 574755331 997662661 119823198 596219459 512663650 120368992 979693734 545673615 246186419 331435354 661380646 187238826 828596881 125331377 921560992 717458615 332208837 182046326 931006765 333735179 204647024 828402371 965827442 601976221 845919569 459772453 438931364 976108982 544980042 346762243 973494176 174739718 678064839 953100474 509132691 450586865 774219277 927876941 559991236 237120513 450730003 864145646 890839663 106836114 482400710 695672219 871755199 276494711 412023163 340864138 741427634 850256513 533451787 947644608 612895785 128289856 366962370 592856158 979348323 108684125 648977269 780195634 673282197 548813017 743392239 317145845 322786883 677130397 495554870 393308982 892378399 610737557 778235085 212327281 234996281 473718210 598338253 277602697 975011372 291625386 566960492 171462800 734685956 659191124 586960114 925458553 597985402 133612947 906047078 524202514 717283922 419973938 755301417 539214854 949660816 431639951 999138924 955021112 971760529 733267626 291840614 886343737 169904083 789091025 923918671 732561982 165144278 601857801 813877537 526916910 371387870 539594023 531780140 622727985 586084878 807720278 408266931 695111430 390442321 517858630 192115824 437885235 610576708 692206293 767587154 750620772 150015532 156489271 438231441 719256537 626763307 638777998 918321572 534571668 278583179 412468423 897510202 606018531 290178473 519713083 811248902 674106886 629215173 436542628 876933526 496398120 884050726 599670262 358454281 350308847 411661967 167352956 227191947 358057490 527177125 643439936 927812980 487763455 954127149 335524668 308820875 466752098 896239728 851416896 350796564 366820794 688616046 248965159 253802952 113873406 727778170 653397256 366043369 533806927 283505677 640555802 892513765 431691898 683458415 848702730 458373224 327763897 235732581 683136336 220147529 341134844 372656126 183277548 668393078 791339283 663918659 785318887 976285031 233729147 959154984 915185498 424785218 138405303 876926440 916313542 793233629 980731317 863122029 981051343 723028295 877205154 650123201 242712293 516970421 706710829 307856955 152336642 728299939 306219331 664718082 509965757 509454840 953005024 822594112 630148403 862941653 775591713 369992854 204848168 912824748 199289130 376743912 379759316 604738867 149637122 366053017 140340314 974581128 227914146 918923818 566412824 370635521 558963652 773155136 712268326 842292999 461749019 715991633 601700959 713893266 162229097 527023290 138250126 736112488 278686658 450161610 374431815 919829003 693676536 411909203 827372465 458640366 848720434 292722920 982085658 540683411 293959887 905976702 835009460 135327561 119259180 737731439 824833266 876165954 590356256 671655883 406360085 650136087 387176989 147843984 752802070 219992373 306033495 821654811 734155551 882221219 330937865 637928483 864717822 915192709 429590240 190941045 401084906 514282554 868455926 681470462 742926810 796719658 397040232 738624624 814759634 299773208 383762903 165957736 640546274 835840405 401866546 201291411 620945986 874363501 629275649 205049556 378638490 415617738 380356902 749160197 907514284 901370199 483499141 906547671 797296735 382187235 875502044 525946506 675916206 387456876 660155776 401742019 880654608 658442153 442393245 255637005 388442535 496920360 936941909 364097582 195078474 705697702 630697527 311973833 612153970 904976321 226967298 761736348 883384993 260457912 346682072 119834145 472098821 468004476 287112330 687128459 815938558 835409598 194965908 725514620 189244262 522604437 692648808 717686199 350809805 284324884 108472908 513647086 389889811 906294401 615919804 762840625 580687316 239678743 882543899 253320438 290661420 369307970 453327455 318576460 414971870 900531323 751850758 640843182 131760322 950450611 204342921 532444408 522715931 230024771 872810835 401196894 466594139 486066762 352446844 859970098 613776535 906528007 659517482 699835230 693606289 509576728 665487102 266254818 745771537 106152721 353227626 978408380 137184024 612268609 303468669 521312288 823559860 917181554 338398487 738803746 953145813 676207984 262352495 281896230 565063101 679534630 875598357 328762290 196179180 489054339 546462032 229319588 540215788 812130395 650442842 535940870 713139772 177790562 535204644 586665268 488205568 654717528 624596113 649959935 105019744 193464062 877139748 809049218 123243942 803711377 581685170 453464112 572316835 215389254 197060203 280130113 274040609 973815962 441048275 355669836 636113593 456987137 318018463 916934126 331444646 802848981 646681557 496521398 794642585 293563338 882939301 702094486 417749479 110594294 431901031 349955629 482456078 685991663 363478217 678525087 973036788 833405804 561824935 870375330 276429003 948766178 312150489 976126489 684345024 695786344 405545387 664978646 112260384 135364173 803826232 496858549 738487987 300331777 483432449 452122705 426930811 339038752 469589713 505413640 653313030 682515192 457318821 100191390 779390180 349975019 629844814 126544456 579659941 393903597 699336834 773485745 938645550 210499501 863468797 346402174 322595943 652539429 242789232 493334834 375421625 549764851 251195609 964151040 957222110 480264782 349821819 840242840 898192853 330582253 488611264 874225914 365162719 974216945 295051322 630704784 426167639 601889846 852319219 395319789 125445668 937367680 641347083 829763043 810231696 896895351 106062521 909269326 647127169 437000429 682437970 170821056 548033572 792790246 786977878 651692229 121437175 538506400 575217905 729082283 263409316 781080653 371632960 135941602 597798271 284918239 218480172 251207635 612153704 982240298 488610698 553587999 827313668 107545740 598065493 770460500 562501759 996692020 854139408 872474890 803699762 840509956 584713317 996680911 603488622 772419634 152632149 623408185 890293102 129123986 570852250 792337749 556493431 980390888 831501136 538387706 239324079 554939137 886731674 975697793 187326581 916021931 534543102 821471396 629371888 484082214 680140522 286952137 228891208 410330663 258753636 168693460 144336662 427199945 850979857 283098114 847610499 222213965 630526848 525959075 740556273 524669838 317614060 896214652 597623202 998350194 697743189 455593589 505444432 818883250 276951619 319404691 534875058 642791406 329539447 220949093 681719305 563835619 535861935 893447528 212401044 743389114 900715003 701686828 287342220 596599814 362672125 801827720 575190352 229092667 626678589 927705425 890110121 992201211 548005295 899833340 817448092 311344970 992185224 794455261 919825592 468732959 310651601 806024791 275546320 155796050 616937064 679384555 615947761 607568212 205238008 592558635 171484337 990973014 580618608 224813022 351584343 675865026 186392321 528701527 295653254 715242222 237764219 270746183 422765773 695442000 347930094 732525538 283349459 680883643 521022764 141231595 210434625 734096504 981677364 233645174 372440679 671955827 775461441 782751524 528628051 198754816 579285241 520960273 703806957 847450312 240470387 369333223 756148952 938945604 873401447 884500358 276774359 145035897 205941644 484372037 786958493 620403612 466845265 737256781 451565294 324356840 703896832 936011508 678633514 115134370 906238748 744749167 921364330 496605338 183847858 655101090 478467122 286342831 239356834 821569048 704692380 786535925 850263491 253942777 998713949 191825760 972404747 505448735 433492432 177050852 512604799 463370083 167055261 844972711 402971681 462294741 517511134 996364777 534942685 379674738 658764490 534888324 560970899 497998366 694782676 462076978 346456794 774180970 441177300 705677071 785033602 768247253 472914612 761786538 621816577 458821380 702498903 969660220 186026667 913080851 758905558 484506603 513423034 871483785 609592439 290144521 963045629 498019560 733402079 684990367 735549542 440556135 201139717 377966743 264684993 150205044 786052990 859070716 636938994 674963061 895742346 422362842 360310533 865523038 745082518 609471128 167432142 227753699 885399330 920012993 106858479 292145638 103368652 207731016 532921824 497585963 758151841 567102057 869939230 498439034 910103342 680783006 861529417 904799453 288610447 112327995 108741706 841310941 859989838 485751552 832813233 107902068 749816659 927201519 776804405 550785787 831002252 334416529 421898871 324803239 508039439 669770016 630917055 671740719 283734327 386620418 103729130 308739604 144297368 743198155 164773798 671878839 591736084 848971204 426783665 751622828 706414787 507009211 412391210 225206851 220305055 646545362 668847401 953254710 827193900 372742714 613951072 116137975 621972832 779128898 263543311 721684242 780513057 690203321 159566584 934938247 959418533 147553450 602243504 138191117 841478859 569253260 942358836 960235194 381588441 277112969 153111170 737798472 575369515 724816474 988070835 222137489 481506571 693449138 407214625 845311942 290451669 239126669 823284805 163672149 123493545 615398217 694768010 912549858 837600775 264609897 370714842 991432834 202859658 430845905 767023380 822884130 264831570 797865407 498671824 640179396 414720510 310554962 839618157 245753750 532608991 577283409 954482542 775510342 147229514 591554087 418038750 197132982 124589985 534204908 316192478 919535554 989548783 752301021 322769453 345555362 121450387 104950142 697949044 142976081 737977532 113719265 178170170 898863135 491430465 220800850 484149861 624819517 802526308 740693945 677646817 991734521 116306613 968514185 862731978 291480591 162730450 975426568 737583686 767793723 170090780 522529647 732138220 964869301 647905062 582338978 464513510 379532016 304089275 441196948 929550674 849789238 586195205 350897440 405187578 129824929 243789013 180691941 710458895 233184151 414677939 178840873 128726019 628539776 431665006 990852659 833466436 208956747 374190713 438691669 270831076 291050390 813966762 116234759 367504996 677691560 865041003 420086752 272819816 667079925 218153737 608880957 126413119 470484784 896035096 317733574 872469116 943232838 619729994 635968997 865801881 398441350 443369507 924755779 348362794 234280380 927949741 614468653 454297548 399273296 978932447 257041913 677587715 661516243 385967943 921024663 281049074 472799081 553968538 925921562 318828691 178291126 916631185 178773390 145493807 235789996 876697673 649703718 324156911 764726572 638000320 546945732 477873536 498600603 435283586 364096011 774507346 505874018 282609510 447349250 671994269 100518471 663388547 121258486 709189104 562975824 220160480 351869436 742146208 542924151 413649948 362047360 675823010 273050806 570638702 477005234 833671358 954342637 773024037 382779119 147366702 638312605 172348819 666740398 929994224 339218823 738458816 461011596 304049312 864005123 172174074 487278420 601550382 931955643 592477309 469559122 169792724 206889601 944997424 279442594 176857166 662858771 152266598 183650459 222651676 479294455 567525554 629022465 351646612 274070900 870358251 795574917 923151076 859948311 608409035 764591032 358091106 402653776 734184319 381959582 755293513 342036012 820319748 102784873 723759586 731804396 709167430 343405187 369759117 842855577 257618003 696492695 808863024 427956586 265794573 784508888 869437177 735561715 652089395 377427050 590585654 561999844 563750979 412215280 336527694 352088556 652962863 484202652 547526922 380370915 832337646 378583381 849139512 782004466 329985571 340930384 798212647 312749315 954120964 128811927 862507839 931616650 636426895 944177706 509837163 367219415 213978187 558678001 835763462 517302444 517268380 456577316 596846557 143122810 323286379 982088750 372387515 703028784 475276337 248034743 276578079 417989828 943989757 257270386 880043391 567726168 275253283 773754908 635636883 878864003 827651683 661002734 656811155 786544208 537902025 323426220 987199469 568180960 214829472 308493190 230640222 886741459 526805929 689472385 830884924 999612466 117442982 350039947 310774288 108500831 292402280 214922219 838399536 639803851 219759149 583741535 703432582 314656512 417916475 352185010 168253962 187255626 191892225 313768281 779639255 513694720 631959699 507276768 431035010 258971345 581066250 373681558 757478332 624666195 111324953 141395985 896564455 876741443 674689927 978863760 222066545 300978036 404657652 963406347 557061164 860077446 789842909 407663951 850858954 534292367 561853401 898599093 417535567 447136302 805687552 271546866 659360765 117615476 380632419 685566625 435974136 550299814 325780101 347528692 181987859 141509687 836359051 914899535 395478670 721628823 842426195 379961614 713786739 896653158 611194514 693547016 575763568 302982004 642704561 134666575 432861169 336476977 593557127 787900211 697412475 185397285 135624948 452532599 499479107 254221112 637756162 926916610 531810467 165568158 861367288 459493392 426738687 735127493 311623500 873975922 132201001 344969469 410593371 770238901 730411676 932153876 930307194 916112106 561606466 396794248 889919269 514099822 432085575 219037331 982251609 135774827 666205861 768942535 243255425 743525937 943980364 415265957 599308673 583086164 549949136 975066194 803994166 588996768 832446431 904158867 329953279 419261162 586459153 612108438 750888314 128850005 885110970 609143033 934031017 123268283 898487827 664362006 360309211 913052066 368541918 759951589 759957274 795689476 587197020 298879763 612424406 772265894 433970665 927340660 541124850 470739581 706352723 651697622 625232872 450791481 620335951 534520038 245175236 292481611 735384681 342376964 483714063 889297259 930464277 645406024 407231239 317405289 970538853 829745726 457101042 381600777 374871593 765899054 532498246 603335044 408000416 522062356 205094311 659756378 750615026 887120518 718835896 863779446 776951843 998241437 474379387 259149991 337979741 219377479 635483425 266726304 924961125 167592934 588021986 362426910 678931780 161713554 981752890 922537311 177531632 956733142 320241006 712833950 996106085 355187908 161469284 540672663 647222157 974504441 944860771 109974731 171747296 987903333 655185548 125090551 982070979 760338944 217269284 806200237 833628228 752952094 940600713 478435409 620191639 845768763 439923164 171266923 784839399 331706475 904472054 158771038 309351780 440732058 713820702 472522875 495957190 400446750 321363113 716432677 497794027 718812575 298764474 451406409 229934560 860616680 778374172 493114397 602172800 460788727 190792894 738556979 129589376 198962832 380962805 444038661 488513909 743572851 804677897 237491938 786980961 960649351 714461901 134401930 579258727 481410918 286014517 489312386 220143945 469289808 186220667 462734467 477954117 510208839 244506703 874425579 653163239 774465983 281035473 232144545 697961851 569195513 873109867 575991218 441127137 176321686 435213583 583779756 957755005 714082272 392406068 932561748 204875810 308572354 689333742 278496586 740244045 817607766 372429246 304175076 690616582 681003541 311894535 189596157 336958533 769540879 893348576 485173416 182991210 554258143 215187570 528617138 577281679 446580460 825344398 174443305 203720953 331030629 409366810 772857518 566972357 572210669 799677499 865388820 812392956 134898941 577036619 805070944 807400599 925583257 596752084 292798633 853059089 736320708 595257465 448980500 790138178 944998520 855048380 733699006 295130520 504256936 660925719 111936238 451273207 780626791 994373737 686954882 931122803 459483245 166252576 892791516 575184595 632925501 634200338 341585970 658069161 368084687 755018300 877869760 989029600 679442564 761657139 710733590 848227818 400096235 329678248 293611053 950599730 711589410 294410394 545329124 638456566 663966436 390728246 394955656 195036598 831869473 987097337 937573134 830173609 228033740 443903030 756573962 958332628 512288378 802531521 884461486 902678400 383617184 843795390 424145662 251272269 822323478 848727201 397229215 232666486 366759141 465754756 921990302 831708486 353335864 312522908 288344573 173864906 337368528 618367841 119241597 319336647 137442547 765438143 684937755 364718717 645522591 157834424 624357477 625044036 832300083 550312176 923359978 274052678 934873105 907578552 767241526 761560508 697348305 800021067 138932703 555149552 534026054 159855747 179478355 611740113 619734323 289034636 532514353 478356264 816132397 891135540 676149891 202925123 715105781 525295054 124901553 844435037 941758152 133051072 412782631 739860766 348728459 159217777 405318325 723579769 838905335 601968515 648955043 944008867 206745693 277284741 802818258 175019529 895517529 879045224 630852297 121237927 546312508 843888645 922530949 138150061 610054587 243058503 101312660 472831678 426281431 265178101 478554730 639899328 252485416 359409005 242763315 377785292 428412214 799636650 500882341 735380250 320818765 566417240 152781912 277498775 751388048 749377207 814635001 970029174 248974290 430219633 365591860 615828708 536701316 825818364 877631890 842776067 367137155 809156192 171278239 221139172 683534220 216313729 590915835 998579737 690834062 323969320 581765054 911929947 740235825 473363392 356473273 878498763 469289114 480087978 689427435 133217875 355787465 405361513 487529582 268297025 183015121 629354371 177849176 627902120 471923996 924857495 557347303 112967997 327289910 111232073 836080810 260837275 208602821 857023243 744568485 227706981 204369145 548985524 247498557 825701079 649532314 441041785 301684369 993572537 126404646 791923088 710810011 676673885 724310665 253099031 330762402 658804622 566047991 554701463 527919968 318093139 928522735 388277756 625443625 913782937 279638371 281845824 497928184 321740721 425507939 795156023 302166805 875763163 302447334 695540530 648895983 589279887 247839930 588165018 394757938 734230995 764042069 996607495 190889422 501681125 777764866 723100857 421346409 657477935 962021645 318790580 179197110 228164032 813837100 728891806 938080174 379839907 728192793 746973680 154662591 114407472 342267441 708834078 376634490 536309504 967424836 686785273 941056793 626063317 347232867 120698332 116640523 756419304 734926477 762735146 892375106 466123450 242186654 406280659 593735547 375045225 937189365 271926381 794144556 111153383 670135560 480149591 785343841 101175405 213954590 567833284 154487465 859429212 390501375 520721204 335686774 685660685 856500684 912401431 815071199 255018999 640723086 479926436 150585857 763727618 959521556 944450326 248756991 151930035 683526506 858532323 320049077 581217124 181719000 688938249 448742374 639268478 123512166 953665294 949935644 857543820 386344306 890970100 808306769 787781017 910977253 663204843 596089966 350281065 690039321 954871899 672271134 326480997 233444005 380338659 511134219 102473576 141034848 985553635 144909344 374849045 698339005 295843444 877628340 581030516 933456216 943307107 867242446 560821883 690673091 721755415 321541015 618545362 660985890 242410196 413906125 334057170 885527327 908850762 616117156 594059869 130905363 889359696 978475338 471538310 256133942 887623402 610473997 428364941 405389554 806705993 308083952 616882192 199620182 958638735 958731090 931733390 414283241 946143600 174973814 377478690 532516613 924289230 751309385 873620011 253528022 915353313 725652789 292629524 260577361 665853224 993737390 716352555 582125368 669267876 670337931 469229428 242439897 278684968 837820196 100102184 370109695 310360342 351284158 845774414 926525507 443647001 793143283 728467902 802729309 558298391 974607237 650417119 321007396 546920399 460366027 709389584 463417658 432128529 169337594 843457243 804576847 216177407 543147521 493512726 748746785 538462041 908867277 148159281 105592640 376998660 332011263 170755791 751341148 634216591 525099445 179268715 882911988 909708780 555872565 795165962 646268929 698041026 291926973 116734358 235772655 891882740 641586870 107831414 870491545 445505564 501460110 672190483 222288078 187048581 647218123 166042361 234773492 179699938 605179152 197607766 379234358 738517395 211286741 958483491 644381617 618546672 373522562 730485617 330755486 408540252 672383737 906286984 369610179 287573457 368019188 259929321 708467916 957801226 399132328 495702357 480766285 500201557 634485404 645580984 264921145 474722639 139883766 546097324 705374155 814034033 704561260 270249763 906160004 301498172 663260414 877165647 369483434 894950506 574892979 652074589 761643585 294371026 583652883 646314658 814534208 201796312 958923639 949992126 543056828 322077698 927713585 485351823 435472951 846635459 443801257 953717446 631979907 375264710 551178542 453385283 721801228 126732587 833182965 335903014 439609505 416500524 177829308 296608190 171311812 619931996 938424567 981566076 721214875 569456781 160265708 566374263 512882499 811790557 385936387 378585831 518291237 531969851 781219617 746277471 469944434 943145380 148883111 688091135 165195785 850582212 740402321 427354534 362511924 594223471 596154861 913341325 223423601 448164082 764311237 895210198 565950203 804742389 184684485 803375570 247324229 675864400 548543384 427428754 103134195 819588699 268633720 201414113 976592184 233097035 574868827 948970093 283214105 294080801 686025899 186208947 776640356 103771608 858255250 777086982 457360988 922835160 813724203 916255218 775582900 576590158 985080029 596205837 674484443 400907375 306066188 715112193 657629105 852252596 969093863 834487050 929382635 556290020 444529712 827382389 119595911 725639688 763874048 428781582 939066195 112583976 895367422 984046581 746588782 978900523 248183740 689180482 322994059 984603412 246875696 894404322 362882109 361790022 388250091 192790723 177319010 936305715 982946154 525161135 316848006 292329439 313336876 287487852 687382682 268406049 163318378 652379969 227580520 467609536 782025703 320053798 948454391 443135124 130849986 702924117 897375675 639009527 279044951 243515932 624204843 483176661 685478037 667134922 147660744 305253698 904835501 137068634 765236988 146340115 288725036 211681336 651888014 291495511 178109936 596103332 312636133 541166772 703876214 130211708 847324232 111743913 114597862 952139007 181443358 586727182 916975486 451183216 484224968 662064092 356967084 926998046 732213823 829534965 251753012 262254153 659400876 769031802 716358746 579172922 194918872 189158791 781547094 765931192 239583477 789477069 832723310 868329085 562116898 865084667 485880657 620752058 270821491 307950238 337280804 541310855 755386281 474186984 689035335 780417553 964145129 482524867 739362924 393890586 279790166 673392666 107826643 441383496 440255278 761265328 136085966 868556840 393782938 429531115 256636562 117140340 817993404 402220468 489997539 579068223 641515002 584873352 277572947 117439058 395976835 122347687 858818764 924768291 780615439 617339280 107603032 291079651 370036889 465167944 578987249 391147090 417629081 221179859 916182105 695395326 233744154 941371914 693313217 927617685 799679699 631183822 454317769 143261437 626468082 900956859 613652152 888568185 962901296 224502766 276731438 253587337 220868007 697548649 363495295 628862889 610214819 436207811 564638209 179748975 735020313 147480856 799168596 925358197 394609826 998467036 688298251 170215293 515113098 464488238 261520101 546851347 375448278 162010049 291394946 695115706 879716658 196424535 938567195 931207715 566212517 284211338 839291523 664384832 474969814 189453544 891754509 319824916 762924827 589599602 343722453 493585949 682466375 710728333 669686937 212142846 690212085 260536154 736140196 986219869 993648046 540536179 138349561 671196892 920216490 965448994 731188868 299734318 445103576 626796496 680826973 194775072 407461651 425227440 952730705 674178014 390110424 789548803 596958829 735137684 338312682 329847260 837431336 202037353 142913636 261883730 771491138 430275682 681155752 405581267 124727478 638902605 297666803 633675601 668379400 725836259 120488217 600995960 611463344 433351134 608928924 981537723 238676473 544134577 366327422 922590240 468796019 561223132 818221117 949358075 644284328 909826293 629262312 769071128 415679430 732262582 777848891 607072469 673779196 355531226 618806909 841187767 474400613 998490248 667117977 581458255 600216718 935112778 362169732 568663627 128357429 868935395 148719602 908261014 663783332 800477380 690173343 868898929 589332204 130222707 806876401 820116526 982604055 803248178 619768424 907932305 351633230 551353348 604787892 774114538 965764926 293577380 735729878 471444256 397465417 996613941 756425148 125302537 861974213 227751134 438640884 490202656 781410893 763933189 761526190 582327534 475712992 597938776 725598195 910034596 835163294 636366217 251546488 950157148 935972968 628790542 401157063 553047619 955553442 397453464 929918860 840324152 408145759 975414664 401759809 467728267 538443032 518237602 761588527 974215533 861003966 294557669 667841556 784338936 300512607 812805418 311776797 951309297 609229690 957090038 578478418 764079637 939132204 457517190 873138262 645065284 835222162 790798374 317651237 978316586 854587793 281759980 823582356 670876616 897066542 992171074 641445876 355091898 737878643 563093528 484668818 805420925 309772884 818077646 103796181 207283633 763384801 161135369 494076671 178977275 486885924 740353169 127943288 716705903 414256092 525187955 827885741 212360172 107919280 805309533 308580743 922554934 661492890 363457448 172696225 270668457 852018844 394470969 651342085 803904604 146602236 599627287 352303357 290851227 781782014 708962154 681241419 295019663 154728541 784155950 936870730 795245481 164744042 211497677 264008282 764431928 229389624 109546672 634214560 901546071 409137010 466075955 279460735 639231634 717618678 948964538 677192032 560667769 129827072 182240321 107734465 936818557 429072755 445461095 769398326 292393583 176600583 818903239 458549482 610047012 134860806 904310568 794713182 519202524 137539660 648892299 137228108 451619423 199412525 229435523 876773996 285547283 238201060 376189880 761677363 902588447 419744605 136322649 515581897 723162245 112475728 285846123 991719100 264602747 541584166 704239732 216688328 891835314 523080546 727499443 734060923 368122185 559324530 186081062 323635177 262137290 584053840 210383879 430733307 997008361 810493705 754853551 783700601 376798300 919059510 130306242 118069062 126354968 399118769 750397730 281684041 392481409 306446279 558656159 716333909 759359288 666254761 386804484 566821956 222541240 716849395 792321253 347122273 521856510 803711186 583018601 509845941 699417689 971073948 819007875 865414627 310133741 714585278 964646907 845398951 719847310 378249009 362991053 373142180 321497324 380114353 697783190 955671227 846741596 604931978 932565976 283734304 335723949 719080081 485268862 199397184 923082873 158404265 973760117 716927344 128542978 707331324 406205501 832657321 497576809 877809280 834102498 471133899 547752154 928320592 956302601 504148886 519512607 453980493 678992681 763220410 558648195 734033171 219854360 346178403 945486570 864666225 577607885 911598732 340006315 120675696 960443489 494538412 664986091 745282944 389023539 335390810 323240242 367015169 760394993 888601106 480333231 672787015 494379862 943438065 294957526 910409272 712977929 458613864 874573500 874454776 669016295 423644226 153396739 393193956 966599692 271067167 330295364 868586275 175330575 357730391 342558801 763719069 634939585 182811417 627316895 133420150 951256495 397503486 696736931 917214676 488888885 308987140 666945160 308797818 864602822 841180773 337531536 557880220 523808525 570824513 823303033 642188981 575673005 279630884 432648266 864025345 238506724 833659309 140767545 362704697 330736053 262763466 245567749 456527933 866221962 908576718 150041520 226940863 807712164 873249349 493449787 408678572 403442059 985921997 190181842 920648865 684891383 118000802 825583548 337733390 863658244 651758709 544684452 802616131 738724321 568730248 142700012 332291305 135534519 817396830 283732235 736947707 434768115 465048819 793275084 964136052 787384573 784210998 817851882 272888832 867982207 625140874 635031767 785101093 679916117 987965731 832300017 381050332 721229693 644380976 391267466 193974438 664580017 642335864 184916162 814039674 661380690 206493815 116803376 684670151 583874068 507818767 944926905 136890503 994101927 577486125 300626476 183270419 730979483 253765242 631001495 266145462 604560854 969721251 477282273 439288507 407588477 281844082 531048549 880515782 719078925 415864395 741891690 256480639 697566586 178417274 226054253 295752844 670294685 271323896 629781256 157372983 871025154 841954266 421452906 973311955 632414267 153939207 152324524 435378115 772546936 891798938 716672150 917792225 996999027 478799029 706590859 775059127 966953377 653586830 297415414 668078463 929823792 103408247 555504278 814663308 819950888 892380133 143162599 890205965 538843358 575202786 450420097 475996813 637255746 363948968 855109631 278398596 184495257 127707859 897727844 810958361 139695598 884514015 910601488 334040269 911888708 667316430 992164152 841754472 630560613 173256177 571233180 809957794 401615244 623616563 904271217 831338989 211413509 553680572 127212117 960726651 709891610 817143130 130213131 180459356 810651428 228714821 814450891 706059616 875010085 869457159 348701695 878890062 558664490 802178322 654554098 229160983 652498656 593381447 668573990 693007929 269156072 838117301 974603842 944171239 651937087 938318042 299285605 888950145 760541681 852253061 205001057 180851519 328413734 239545197 778260937 310972257 681575301 860310974 340562179 923808709 114988413 476365770 228873296 394332345 507694026 420216461 141517580 606793289 737933055 753546541 860819956 966999187 187023188 726575086 946547754 965566882 860726867 168990125 175164155 616533624 671743545 175450103 599284069 829291873 279327478 381297859 740675493 471380824 433787774 141221701 274860326 402564753 630186962 501859862 387683644 878958913 672073973 348993910 732855588 263535015 398887336 797589467 830445990 983583207 144324669 871191530 509248387 230834458 984129376 555626262 693768980 823220903 675867626 319359702 189403052 744063873 117039100 414731252 506125889 281388191 467376825 612999820 800941114 635698061 909430531 409837224 224451847 346334389 380415517 508366298 244313936 522954966 249119083 767130125 161821151 182703595 175865933 645895209 573608083 694690740 402949906 205285868 366033904 430588660 196029701 455330228 934186416 753032595 759884414 814641605 354974067 197632534 647730429 418626212 397991365 776503111 234276624 186925370 967602253 753432327 347355612 397420415 683653887 355108144 625295684 917023490 114114670 666089725 780064600 713485743 269061287 525781699 152331603 623420370 487085064 173961924 614794631 381522126 663601904 961791257 384372822 880872017 353652041 264808162 999750465 297017466 405145081 231255532 928082719 893296968 606039679 355104733 973774360 831416853 772712939 720962640 725990785 361010017 491276024 998440290 124517165 684126908 961950242 171484768 791542111 779898976 410395156 659301442 176856204 375537221 510141882 470686542 783573681 776692137 832791341 940572886 388645420 689231230 885687184 629635612 629762700 671375127 530016236 848987979 750340750 143306652 226125507 178019284 230952221 505452182 428889547 166219400 217969003 847725535 661654572 888559726 912317531 927514782 383253439 664756735 117060360 998298355 493542094 903308900 597038182 428969913 614550998 293166047 424935944 894291566 482546784 453086293 267014097 436184270 276456989 936584427 733669570 575728966 947017620 695645351 597459117 723279784 827722989 584975926 556492116 609217315 688989290 211880590 549736468 201338145 755799539 291794535 934368695 834612425 579708174 713901337 480453693 670381424 161376456 145343657 618559482 916104866 759615584 179247411 734281514 207362235 129537672 313911607 952244830 151882562 618547518 339737650 611786912 114514038 781669519 348523051 842849851 839873969 721869825 807495544 361093970 689173897 885194136 661369721 615297853 735831797 210701354 468931326 839395791 508937486 273758060 735564903 852477024 258344321 709945910 950602804 118688620 280860202 418715131 837965961 660068144 501649384 457337843 992362709 386667537 275906413 143870222 717606692 238810427 961059404 429584123 947594089 159660919 361559859 692225339 190566701 193887979 687581735 524982696 425406412 626523827 929582409 715405803 623145514 542159839 738891395 534675758 278625437 920264116 305146112 785555967 192235895 488702270 175105405 591819469 932113387 677176074 863042111 555382339 438063069 381757140 380466195 637862285 417070030 447437872 108474995 891468641 339546331 541016222 687678203 359857567 165949183 752824448 287681594 140100999 595941209 379404245 250594392 734926147 539965741 435234363 488582449 810483336 971716978 233116589 624452875 247062488 869296073 895190416 643678217 115231395 303597348 469675310 763428638 341815272 468285745 503171178 449933327 866921061 762297521 936808274 955264663 460828733 710063646 690665591 902833066 647416697 700359838 490238948 441584039 270622759 748776476 603790572 543055720 124173740 880998929 694391459 284957241 134011202 577816950 454747949 412175122 368745719 721513792 318373560 352858547 418676606 638149473 457746181 665381181 666483246 153135255 110727860 253397512 764735727 690297591 234640855 586957278 400329645 248219089 832996543 255075495 870944741 813365622 878211262 710758840 712970434 984079279 365214294 601070704 134664500 895866464 137281193 154102646 426455762 179424027 264323408 668099537 684932384 165272938 177896851 389919218 938058182 694697689 206577893 377226322 540030423 651864158 414661487 648900309 834022318 846786075 955871452 683794155 219135601 202762305 382318869 201962175 843100142 502323447 161692781 114779539 217676948 208204732 282717749 252884236 308237294 240447227 392410525 929169289 346669626 276780330 332359300 579377528 288732268 256871592 453235098 672649633 949436172 523798928 752970601 793053646 658746156 670755476 526712202 207776809 405591380 552117390 965607154 655544993 468741495 512426780 449184687 894382666 898725033 996823701 202388002 185425066 346663717 687409860 357802092 256716907 910963023 733805445 126357392 568132726 727907594 662165769 234334471 224944079 677026606 732477058 523355261 731744598 854728014 763195937 955377838 808885176 373512937 392515908 102233245 696547940 956690647 998631359 495444456 163549536 569305008 639954695 327485721 576051462 306434602 953723716 884981710 661762458 508305211 974863022 354138033 499303484 294285904 826100729 874074612 646775049 637004882 973219259 885275361 672964948 612540568 445511696 125808389 829940455 104191217 414913427 753730562 790469220 940549804 564206773 615381311 852984060 110979044 564210479 882817156 458013112 372557817 651661811 552010112 626349207 260179056 228395111 798577218 563262517 889661695 336200326 728235566 111393947 827148587 581923246 715911306 650237171 606774854 378476706 880774642 161695633 637047115 901051551 774513471 721773637 646119076 543432693 390179438 134487761 208249222 670757202 567835567 565029135 361990841 421089059 478391585 714517068 898832898 355416185 579885169 372677601 688529864 588074968 711071548 200359758 142594250 793849788 534676361 556086354 991421070 560229487 518370238 827582478 706069545 996733466 824989351 197412793 364612784 225423254 502716907 125804805 401962275 913068886 871100895 226916178 212271785 568252481 443737925 840234397 304207680 651545190 597851743 891407038 645889530 679161968 264618571 377025409 610730818 292468289 899963327 971080693 678546394 913197025 530541855 266754189 663408115 601275214 691058308 419098866 222619445 619989522 137658084 572257726 713074739 124579276 625701849 653724105 223007557 465565194 569875911 989163087 517476944 391552014 401031800 547147313 294408591 428508074 902264679 458319804 498748887 106503663 117356192 895025221 524812925 630559982 809297328 801079254 916914267 599272388 528624057 376786815 707269188 996212605 282846152 276828047 990576088 394956434 769458841 440326436 881635201 476124228 906937321 712579634 987689965 252822431 946843252 869568254 961566723 413149180 433489426 824987686 979556161 647236596 965846833 644980323 694608484 556619360 910848256 512702490 301406010 484975590 610158536 581035897 990827307 718459263 289760598 381442618 978691527 470590187 434095148 116430142 757337490 275626197 371275103 668168004 944224350 793554134 187851408 311923039 409082454 877101198 589958311 546552755 131916294 358255187 546757226 237231451 265215488 816961023 226938565 359886089 236788791 241729187 170038508 374245023 605085687 522938504 154429490 907845885 276073110 906806243 963554152 227105612 907776504 305080511 340515739 306530299 790347579 249057284 803150678 841888130 639541862 720345046 776251518 962087518 183578487 247273621 682414922 654662490 275946695 856183007 332641813 498761978 676811705 157761256 667410870 525883946 649278851 513006631 577160741 357913990 927340347 568802536 979110022 148770040 210516372 473419949 206124645 239520855 219439450 715808982 565244309 907364589 381192082 790064375 733188160 715968057 789284642 227819234 606162653 142720528 979434181 105666692 764723300 545292959 868390922 104142434 858594146 433635779 644748808 112461645 410780951 418472361 269550878 651666240 390795519 445180594 564097397 910563264 212273020 392254183 683362642 583431667 283869188 105984615 877193686 703756451 766423343 118163641 789346482 237432959 758001944 636078669 594694719 970528134 809771104 139287592 527430809 713346056 782075489 170534654 521527711 135712192 347531067 106177953 554386230 265386260 351200075 742806728 881375830 489430355 354246003 202837872 941259099 782692899 232165025 585792432 911778927 956671072 230352129 977236985 828839603 744476837 929513632 623955653 964177711 755126705 299136225 383852820 175738322 126561856 227835691 316376552 783417525 463480989 520486322 701806860 325921802 952215219 845564201 331014668 327029514 303442192 603214976 429812391 557767444 220515621 436242420 343844001 809641595 768981926 127613419 168044239 158343615 661329180 851436905 803566232 834371786 888798204 897512510 933469327 722979909 325759177 438968828 585452364 948130607 750203574 329134172 596661076 344813480 649550264 234409083 951335291 703209932 127218258 692302109 920862009 866890056 608672832 959089528 190456393 881499863 505291778 355387267 257324870 237688671 634891403 146000213 623685939 842322753 117237606 622314098 193110431 837344957 382580057 717061966 892838275 522030529 912551681 966783507 114889337 917220434 364655704 788575975 398851164 904424153 275525031 171997805 661718825 249730251 985601079 758741312 443877861 844720042 491535520 227407282 387325497 318842956 943859333 760897757 863713898 400070352 465838812 527572045 553235845 417087879 886095959 638186692 518981811 671671474 618979339 300399310 539314157 281385078 277877545 878674690 293988621 219110744 381072407 526770904 943770630 454168046 257116767 978798313 955854928 139132071 835211587 762897299 665335083 105467915 257132426 378703700 329565528 968445759 973716750 791114670 746648043 399873845 946755890 458628223 743795120 563238032 935983726 861957190 925965434 425764231 950693722 566408007 377769025 937226488 502209875 445334337 748543287 973700404 314721480 486814467 618269241 851860253 634220437 593036761 317040465 162171842 148084572 761640307 578855461 926338157 129505896 488049352 609475291 858758175 951262890 840592958 250399611 160495322 937055872 617486387 592400338 133247057 589393201 756036694 200977155 212286850 187581040 911166577 332784410 788871852 224367180 314039895 249546057 982739598 743592914 783269619 394335643 157764418 294437530 704008349 205522270 913470258 247268077 668226865 231792752 434417420 789828966 826915599 904962521 430479738 198963824 176177454 649613243 407871741 836825534 373637636 330680453 403078595 120672774 687947475 619181013 397644373 135521829 741857615 679258899 389726286 365300950 282785897 580206961 965270611 997636501 180508045 851492651 803217692 237547368 565401026 231802277 592768444 128427899 419094651 247998443 409628788 515664003 991622371 909760209 790803406 742692055 436044670 423473558 595366527 385195974 620172562 385650159 980888501 600103421 966761931 765083692 808570745 166560203 309600787 980618537 431074991 514022887 314493827 694759466 606602752 254983009 422741927 152995074 216865783 855831615 484573479 275031619 395997737 478760002 601944193 775806386 133869692 115759994 795603991 519277108 707551417 912389231 725899785 781292229 706387107 770332484 767767385 494502403 973790795 397935656 239993103 836431008 566449607 928566085 427874677 493996696 536528262 286840115 181039024 938259445 592438781 154759914 514196069 490290831 825005976 954982431 598463242 117851702 151216528 649962371 357163876 995554505 122891052 228923773 594331948 776899792 771019689 894403929 420611160 923090570 869366706 162420227 252075523 795084069 498091988 386008810 257839242 515796094 415324141 202102486 121313341 714323007 299761515 599593345 151619784 468343911 222495054 764270026 804985350 178702111 894423099 320803414 277885112 976935080 201293944 448398454 666497188 628582933 119936339 356225242 296184014 977324000 903971079 313758942 745501360 456264275 599565288 654838245 627613242 431610062 489380411 150140797 779386664 439871162 400392495 595048480 808508602 915579873 359617983 860380849 910790198 216446213 377791514 687397981 215629538 325208202 404229472 558026463 387088136 758923278 926348679 933060227 223579867 219653864 708959124 625554967 469110945 901325062 877514148 525203256 222573514 789179628 726933116 554373555 225624064 670961553 868580024 846726393 644721842 605100480 421721628 144274415 273603206 675523783 846051390 886221949 886507945 368251549 480155487 543081079 785591293 607779375 788572142 595731765 382668301 782335380 556614732 884910483 268556465 297867149 285252191 967403942 733841028 230334387 546315562 695011434 258646027 603383586 803138002 371869887 542420019 891660810 193881156 147001078 442446395 656843616 893890571 132325913 263290930 935768494 367296775 761139283 917611878 539806831 173385388 855097065 965242790 615403919 546495942 190625899 546145445 258628585 120622696 188721451 137848243 983476526 487378130 626778709 929639116 427181748 617065098 382731892 722685083 990375312 241050406 366346354 675780459 329939448 496053063 150692222 417786618 135511597 176417636 918478618 313429261 329389584 311171234 680003582 200965427 847668086 709785445 104578208 706087900 513114379 617875866 519448762 234173185 830128468 873443953 919395074 126728917 316310356 561387331 193026225 386675505 638953592 127245900 609808028 622469942 688339080 692743869 903437942 813115739 393703308 504768830 858692693 533316888 448378603 333040789 749622700 561431855 212177312 390531287 305728886 631815634 192852646 288545686 224354062 385149911 529990828 607587497 620663511 424526310 517659602 142318464 405225626 266372415 712461159 970184278 739027705 110455295 976469021 857333563 903319249 208859531 564909023 697626250 998754309 272283220 395968141 413646455 377164589 152089581 309969446 903123599 447360682 870387990 792133102 383857179 856935882 816894223 497206077 247310683 871716508 333576222 894590201 599736150 188296170 803341324 156462026 924788446 812319029 838232354 345749846 832539101 470027584 933930225 453529510 661412147 794745621 160758097 816702745 519197204 351420242 184904100 822718422 936420654 821877172 493887297 263400675 631773107 901110163 598449580 530798605 620226071 784098983 803783796 667112246 574741470 528940615 895548628 764172809 111458914 787635003 459971594 680397776 757041006 313425731 633981464 899613495 576386619 105085652 257267419 208221825 159134438 832935103 245041613 152421357 385989993 440171227 899748477 154687201 279996624 873935741 115271581 696419987 329378117 406965609 992514081 417436378 717228270 243458704 780052970 625152345 865830895 644239137 684031166 579509298 338095697 405390987 470644887 657333890 330348558 104309351 553049139 968359851 240382534 462977162 165912826 983369748 778060546 642921514 269776803 347267549 812061427 531623566 374363145 636586150 339833180 487441596 112963177 678201542 841376426 554979790 960417141 567154775 339603881 112316214 342529130 237019988 641721154 535133184 308099158 788964449 212299370 387005671 835634768 348257355 174456553 849295774 708199282 689163133 484664775 828808142 451172396 233425042 988433041 308316872 896786760 986548536 423159384 671569080 337459454 160157831 177035662 795983947 505700128 983862603 183948331 516398295 218949680 754910603 504467849 765867674 635890698 977382392 461690942 472257437 249274052 881187028 202996440 728493324 158957633 590473306 902224362 936339146 732924307 322287322 537784826 494182332 658378024 931449666 618027347 992209122 388573544 917885734 226044543 152960659 863497120 862090538 758499304 949166787 163458649 778498257 173582097 268899445 824957062 282161073 348471136 551770743 187609664 847354158 821973705 516582510 916504414 279910623 347010410 990295615 536174191 548236909 582175419 790490913 262154504 278756651 194094650 150960336 448555331 632112538 611613436 616701494 808155580 802484998 765162285 244725303 706137836 698850869 300170683 472885719 220179356 243110263 469250153 566873083 423456736 987175708 109880646 935680167 209202250 290203030 576268991 576946071 933249744 935282839 201636665 266375641 450734369 582465998 281584592 954908082 510908511 280536344 602867860 587700688 341094806 729252143 128013640 643860849 587049239 691209693 770878184 262242213 376247358 289073581 425067831 692597940 940636151 273867979 339593430 342854313 182345482 240018936 896124450 195174905 953475909 775579743 249635044 868546020 534930773 834564880 472777299 317947679 387172553 351441791 357674220 972191090 988523365 181486851 748063001 299092314 606699198 409140205 593641199 221821919 381610732 575217836 825247745 860426190 329251353 118561630 577091290 598282207 979339734 968020339 705590297 972407320 861597237 192696422 616457043 273838807 237192471 350831000 604293246 275401926 269665748 980497661 212680426 831835557 985557463 925555776 250579777 506980894 954900068 437426027 553049322 143385933 252081632 366594861 707427027 224617535 253576325 887834322 594422667 810021244 616521262 484544137 173450543 157900792 871276828 135582452 694747759 625997337 405449472 330518236 338802941 723749252 235988975 164722013 298223558 908756589 428571940 796825466 804177697 715556265 887600457 392355585 397202438 998998587 764923404 102218417 670880484 616251234 183387083 414307329 630540434 799412496 341550672 216446907 752800574 393403075 477398591 739558566 462999680 777807481 751548381 358457175 257026461 303044121 300123939 927197844 396550228 657751909 721335165 130274903 499961586 132943359 172845882 654834597 688864708 876968297 863998489 221642212 861670856 403421752 740893090 437762348 315436515 760223505 607406538 279742773 314113995 858771593 483561241 777643903 602244098 708472368 785201452 134095612 378601731 664563257 955297251 879885409 535490337 457428540 486649466 185922939 195802879 653339993 283810204 740503913 651611306 120739969 300890695 199943613 322650449 512705561 982467901 296011532 585610667 102718419 886964637 126825864 838926450 969696344 604112249 306376207 690431027 725037783 328460945 939096368 152881513 601696398 463860435 779375530 144299751 791265568 357054169 125184098 897387770 365393719 745582001 734753364 984927716 427606037 214063832 434389405 499091637 962192396 155296595 544680906 624550419 344199611 655577092 481402056 571830737 206319818 333904360 235413185 792754518 877488694 744186581 700503673 604238992 182291499 855585867 377358316 431410215 361403239 998532301 860733325 416487767 460227331 776666356 937227167 452995823 951921008 793246166 606162435 870935337 465198894 274799944 821714306 896429324 505405742 303273923 353613812 750215311 778385962 527444194 534570924 107562225 388791514 125705753 276193630 188738864 813671385 365972503 671693155 409349536 568979496 115486024 393703186 320187585 162701065 125633761 906176948 865667321 985682521 230670990 802328383 121568528 505839728 511926988 575320843 955842262 358414025 937123621 605617068 705483426 602707276 496566817 237927980 597391282 726275641 605177578 125351503 244924533 281913014 819793096 866593450 965457938 698449056 381853738 339111308 631041388 910067573 728545759 340573805 102927646 659745045 649029565 778665486 258427929 940086208 811666598 689320250 928521584 552508318 136872341 489115102 618404067 324499306 710540909 334186285 486828966 660669412 545154471 819534613 430286297 170045235 743510149 431007514 247272810 268826757 608855699 672396765 725524694 853664616 979352895 606231851 828443331 692203830 854291082 963878150 996526239 299255479 257454697 996718448 957503929 955846113 943686262 708657229 996270623 839039059 905710111 457633327 956695601 478192203 854733418 352685056 675501866 998054283 471232155 870869581 175507586 132378531 923406345 944333201 973726059 705849259 518242855 171001873 689965457 889680663 758173994 148316449 439897201 306516652 497849893 807430568 944211442 768983017 317791620 344800776 180579748 468431338 696866159 921841213 275654285 732656321 488805286 899487842 248922101 234846258 786976405 922360252 179037343 486706150 601734029 144287362 619946338 399051216 957946600 663845655 695270356 620045641 158928674 895976969 693838214 161451720 711290090 387730639 933876688 379260190 124839385 833333627 245523436 644485393 929529600 101765987 253683230 955979710 102611033 111388544 366520723 114291650 350828120 706304864 436970861 815700711 751722987 479831209 454964308 712925603 639512556 853090445 819973472 978501400 513786433 168523321 535841076 550703262 649867095 560810208 154246184 288323887 331528779 554310303 490919149 304509027 589743524 786851302 799674755 262992610 529335658 397083123 780063705 103373335 918694741 360592545 881062293 887632329 424778211 912836041 202871193 564428263 582950575 368650295 452824904 228906070 397233654 412051387 642206486 277901787 447476260 408359707 859917920 595606072 102109420 470187116 665139201 826513182 431218169 278575255 372153110 389868331 958625394 242972890 178949778 241815246 623098622 148831310 793591912 233333435 908205407 530643214 630089771 396563581 612083642 434537267 170949336 775616454 294040538 726476268 637641401 199127588 947667232 318799146 594307070 758318413 875353914 519541557 320811084 514491729 279266227 367991376 353174157 757842513 756444179 216440186 824821902 396334806 931713094 635029636 465586465 333873650 682918630 172020795 731859505 780149247 584235269 249995372 830884856 619182873 400174596 805002300 569545598 452012364 716521524 456285537 788661709 629289115 236622679 493889722 597834574 566200003 764881508 598772737 539000087 755458375 467651331 451523284 448025660 924708908 462281051 555021742 517208445 314567436 702578847 185891167 267244912 226901887 862753267 526318252 341544680 469279738 791768915 344597399 565396257 479655746 367704129 369784987 315443005 611098480 900694979 802412012 598863495 565468146 255139841 140922778 402309665 360400296 595524284 754847085 623308121 270260587 837221369 891974895 410233168 802802126 944312643 914370998 540937392 275377466 500577035 370261310 397419016 539182169 181467504 645550808 491110668 427906657 112194073 178003973 375374157 467926471 546603934 106131204 723098803 665803997 404654063 741376333 998419970 383755581 261696909 459477755 718227344 218990930 309438636 273704467 862579613 791876754 292534083 472355908 582831742 460242444 249192856 845296704 137641214 941220752 406798163 551794292 387097424 281623449 687265661 447439456 808979526 865792707 767516783 788773930 335911916 587766582 871226190 384890506 410020822 906219934 327567944 617379311 753304219 909612770 250678635 866832176 656580516 306517811 145848949 868543920 460473120 781913490 327452459 794184082 918348224 744028351 631085975 156218828 219685062 930655941 309250891 328462968 911828974 496370801 128455247 768539712 836386862 177378028 352231704 615652010 659254963 908364167 215834374 342753947 999655995 409610864 586954600 178784445 817835356 495057610 864445082 608703772 701272924 693304445 248004114 492438344 972472993 158378339 135279489 303111815 389632027 664596696 166466021 277185206 698127594 350179120 303355857 490617806 523490286 139551739 677386389 130642490 516397797 735556024 862545003 962612938 728356467 370220575 600897750 689457803 988977729 759649009 323116711 604255259 189031896 570945947 227575438 460485569 198028767 475780474 623547522 903090286 755637250 158489639 254597660 537660226 218991909 454767027 928960170 220781634 877132340 632935825 902868088 681940748 123106051 487893163 907611858 365221724 423517031 389390770 497828698 723846717 952719631 994563880 900917330 781772823 503631819 273536984 482005672 934130255 370229430 339947233 480602617 989418017 657598839 743997181 561465274 845897388 764821370 249806989 647634032 704954850 548773996 190144511 531247925 329754334 971726993 321977958 189503118 771527894 242914848 364007984 702626385 271265886 470317823 349780069 172167498 996947997 700082806 497517499 498921838 966296426 805713326 272669252 818385237 845381842 803693143 857879009 364379174 619852779 297569607 231516089 489974154 386766756 108738875 753688970 789688231 268305931 271186437 924128337 872984328 673191446 415150049 937689138 351411919 716890685 100034298 928946131 688320491 938334049 880788930 331313473 379267961 376538317 772385400 923149975 785715160 555127157 654851668 599962462 549827212 222730595 187896010 913376246 225791430 808682094 763231290 810580616 458037809 729740417 778526421 817634183 811614221 554788746 804203536 905056291 927576115 685793598 529744205 225803892 286069080 418799919 787038620 808631337 208501323 138409592 870640519 164411065 477745865 739996591 472681536 102954709 440302788 630089214 432787738 601577697 183847834 646179113 952002588 110409291 545827304 796393009 624182134 616563572 626638749 950394242 692599130 975730557 325922104 418299139 161270425 838875336 119188865 943973838 398712026 706894363 624388293 383707076 947888913 386818377 479364986 273310816 796254672 349325724 194963771 394345134 136902608 201482492 575398003 526732001 950620477 747618636 119261408 511630412 869508858 972554613 824541924 227478965 110283523 254169548 523195607 309336983 465500017 662141892 940278960 613834733 920012473 771067060 700266849 921560750 615457346 680591797 238970843 296127497 971000488 372142447 568657619 422293864 216196055 165526750 392969569 440305310 572065004 625327529 854153746 563125261 302489393 555786076 478694368 337256993 400035273 990940847 512757522 503578318 891156099 279905256 231879084 175232007 834982506 894615760 140760472 674076298 268496673 755220986 638239003 529743915 437838690 149443236 785415899 562499216 608357201 405542584 306740354 703325990 247243033 372108193 232650770 552986702 869748054 516418468 744903304 564081208 773786484 837323842 704207377 652641618 643498445 359090705 200553863 761837251 770726837 827885476 660734195 147753039 314527816 388647628 250773248 381739885 528045550 942301846 702961003 995257295 437277206 158036677 368800303 880445793 858404492 899572374 312888795 385241827 152952981 969117471 106629581 383953822 477682408 460151686 989077907 621818938 966030473 859555439 529343312 788549704 352202150 436175147 489970837 993186959 958469762 290173673 741718989 887950412 308195402 435321978 193888416 222263982 257611243 777960764 378883530 171299165 713798411 719975161 175318743 326349724 683254838 987445784 586707523 996069502 413523568 622779235 251250146 476751708 913718233 914801952 813732820 963906748 787849076 292567476 751678168 634226102 644005469 778637291 952026669 471213371 577681944 435542660 514479899 892633617 882017034 788864646 742886982 930785753 882668569 853402024 754756532 887201313 115410930 159293378 678190056 430173068 785174413 972006946 748571864 929692466 182790915 484548894 486939243 710478633 618246223 918251015 769165996 518334435 251330314 325162838 108856828 165489527 114108619 336993273 443246398 129796282 477667917 947950325 800619007 490331017 300177839 573989496 674264720 903037997 541120837 163039866 905292575 588195481 380946338 860136202 333786967 741727665 100637362 971022811 665220074 139672326 348239088 579556996 512533056 733403631 942070804 983719619 407565321 458785854 856814866 813363658 823751968 935384807 441163464 984258236 224230290 167654436 732949491 573397223 449761160 894118107 999482560 916427514 378675387 469786147 776890662 172603781 963972496 710027312 469878976 550671929 254930053 418246341 606008906 880986187 942197079 856914361 210114621 668696545 972884349 824963280 283288471 707750124 434178656 606892361 539987517 463693952 261132607 538429268 478986256 169422001 529282754 358455483 785367496 934870969 346671562 108566790 722312990 213982497 909124425 533735748 531622780 829993330 271419614 378792437 739246362 266175358 646619326 113835485 823774832 392871292 649770543 797681995 345019758 265282453 887511070 755455018 132031570 578367232 320363486 171663178 878201237 179884642 110790872 304944697 101340823 442346803 960285386 668570580 361717133 282112594 343365178 982570352 102877610 184557647 349267474 176911271 985388931 591896376 906791225 255255362 957314811 801547315 630559599 734029460 474935920 883711302 734052031 472733381 967095925 527542565 296100363 754439615 492134077 634375363 986817220 405012237 248560664 441348042 388365528 316173853 824903286 685922666 188408998 647165301 185173611 726902501 519293384 529235320 926707193 379798647 344850038 166680179 610980764 485708852 545365456 588393657 620123856 287499430 231760293 329766862 156812204 974404296 528135471 696276459 750159724 513637923 773160392 356763699 343818905 909024982 674816275 287442053 738120291 807494782 773747477 487611498 770956446 502119547 795905373 790009132 748198559 739632229 929176577 735774123 228154770 817360507 674486217 176539991 160909315 747010301 989853590 671297041 433881996 801394728 711771764 993026000 557920955 202025577 976040268 609470593 497298458 578030863 325153828 530591440 366015436 142017087 715792776 994968819 867332353 491425771 366932432 873188402 408497954 750083464 597121088 160308312 706147603 558375777 179990208 508397146 195907668 910336785 703845328 418551594 457677221 272460846 238139537 658397979 418301530 154803269 338547711 234751083 629586651 132213796 577613109 535029578 654285019 305969037 797467764 336352718 735457751 286417140 158463240 987932827 896668469 762970323 426351905 494567574 205941381 329962527 765694471 200182876 138217700 831452105 205804368 414720463 207604664 854266534 404119788 885858717 418902167 859466450 608247857 540165652 404066052 624692249 315316492 408641738 477383084 661150145 267829473 639653802 738998956 742240751 584766579 306825284 880980358 334477181 129663279 221621520 908725663 660670122 837467173 391266016 711363527 573322199 117144869 930017973 181672787 456307602 236736984 800733886 840293246 317038322 337886544 595031409 839720876 167411188 855233259 751399542 469904012 800456187 834479169 823176901 674658912 764291585 523599736 112255828 943193182 730929554 975548050 590868465 529946569 228313670 594604913 693522086 840006786 586455806 791951997 682821185 411611115 880840362 521733358 561266233 119053472 942924102 528933122 774286058 157423371 378964935 676172679 843538498 535608980 310967063 270596194 928032705 780724647 347012762 356036076 141755518 394483516 146832111 897377366 805754034 993596034 124281847 833949613 105540270 741681566 187956344 434892206 341179203 594387811 387433964 910862698 791690594 131163818 214082371 168341572 909116354 113696792 381563701 841492533 274975332 991152162 885335440 438270530 459743619 530741027 700127733 146079921 895598647 120895584 771861634 214699590 688856299 269567733 575679702 503659169 376628260 319407961 354067070 417374561 289317970 928186135 226975122 394655954 398838627 565183658 120278475 705842373 342788847 276471806 997326789 543392880 911353848 512336994 367875123 806050952 210597410 774255309 123118382 784701099 917814416 969798946 159681012 731628374 502178333 767727772 967373955 595258087 158249046 386754603 930621760 907904120 448177336 306414870 263581098 540360180 369912809 581207399 768993365 968195105 392169483 967712320 310324949 154717758 658386435 528995194 474812562 490130226 793089002 891332297 720189252 188854425 682832609 693060937 503894556 758867790 269970820 461652388 473474992 474622265 192463065 187616606 641037391 165734725 663149757 640864839 924905105 637162906 675894403 132089514 949496919 564398373 346570527 824899486 698174602 903794615 772468076 632084423 716314744 784236879 673165263 584451704 394527074 487776779 166080451 201307258 273112925 556291722 181171965 315694031 364633442 279788573 628862269 593360039 712311853 613861756 877044795 733587649 707748611 351983720 963935344 561559778 929592737 753822316 807559945 998291095 971948499 457257976 780028254 970944983 920670338 800094163 173398497 796591791 498942849 284399935 427496929 750532059 480296346 179029470 506471164 380002719 454647724 261278824 358755545 567544849 914415430 871456682 915073298 402429888 639257890 945228630 321607604 472743521 380909688 410707959 609518552 349159069 814803513 468999103 241271188 461123717 110574324 294557302 159734293 910913951 192524732 806346620 226697791 562609460 124808469 489776838 281721146 343958211 112765897 179083624 693321008 233222484 863403161 321378206 678668972 520337943 356923882 915690498 135169184 801839561 243549090 262829704 616433201 905262658 114480907 782671606 816822969 721166142 771877283 492696146 412467905 638578040 386973638 290650153 829375228 887843169 691651070 143286667 515662461 668044348 829697817 450396734 153600112 346998001 585243638 905099685 155009359 335033754 138756771 402407835 220862708 816487312 196266372 447131831 136595509 278113695 911650138 328734620 665176230 414189409 505432706 536166315 815369794 619951489 300977934 497897528 535604771 796107471 401205636 866482823 426139879 839936252 347769624 690790238 260716210 437611329 199526761 734312077 318148313 871189312 197657738 983445134 485935932 331330394 329282314 329363208 803947512 610563083 419212358 838603228 907757893 538931165 549349354 839664082 796016858 885359726 442603733 454686535 752972230 853669242 737938087 867388042 474891784 727331220 115291094 785909884 503736983 135431236 439101226 393261756 414099662 562069195 673610057 882335474 524639320 375738609 752071354 555030497 963310368 355383772 702043029 944346663 603587977 339125415 631242839 335844198 302474876 822546228 577188321 474425560 127158795 561624177 610654673 287319855 633236591 151511741 981785939 593967976 289182432 573429953 618334748 274413946 276341580 299377123 214432624 968861712 992388453 364005105 641358679 948552619 114123375 396590630 148246534 999495455 239061997 420163815 109039413 940637638 134013215 842428226 905900295 526057325 867019073 835473312 769140424 766003959 459124665 722700579 859392709 787968703 842636373 215950899 868199081 296991719 773670444 897849268 917294568 134853941 546806073 564692369 180307352 326984148 440240820 940644376 393466932 731821239 310020166 727449556 531813082 217197191 512305668 639622680 183233851 642515076 490291743 652798947 446185577 112421067 534108377 487634509 185521169 947309875 215991908 350720957 265371636 910164986 459454255 581953781 182626350 447675450 335780066 678893963 177422211 774355647 634266387 494056457 858016671 428466048 338694186 614211473 687578318 635733609 439686390 412458720 402502987 261905095 952130921 343355480 352191827 831515354 650908337 975810560 457088806 640718822 516604146 198213599 630190185 340206356 102010692 434937090 844044433 841567200 495489317 758804534 239109223 228232648 303012192 579828594 904936411 845705935 193660437 142366443 224115412 613123374 344361464 195585559 420746181 266608031 671888530 607652145 278416987 868675199 647628935 207901139 808724212 310920062 716813867 358017383 794436752 499915402 961778602 531266698 828120814 677269560 160171912 371709152 238557074 948297057 297968972 939395472 934861217 542129160 937531407 929000109 876282959 390121164 839490573 927656994 853936613 536805026 660819944 841546566 716717346 138819310 713177212 694705044 102812285 473018728 456035338 658810145 423729624 386550489 260477802 676814613 165978721 652017724 403965481 245618221 625903168 837032029 169989130 235168710 916915982 307050749 209202736 180556870 515936388 805093525 262916953 139748006 932432498 949344805 301194298 901745896 538831345 602176798 759085051 387825113 993702563 131365334 162246760 519099392 396198398 967192565 848941405 386943933 364806457 678944873 421205379 626322750 802120488 265564521 435057952 862894387 653834265 663045539 552616379 116058423 486551353 754231840 791304094 942443869 811734321 521553780 601918182 624918774 576963337 653937345 238823613 751078002 911995468 314370723 816848266 432874348 943804255 580606635 477855008 107010331 506633153 516005871 139171841 998968782 823801489 944050523 471992837 935268718 552289654 778815710 451335586 920698365 870994905 935716495 299647123 666584683 867470611 211206221 229597068 581229684 484039487 789140140 697216502 720511028 407794083 550283443 845606713 816351284 512086735 136877951 845807576 260557164 251940226 460927450 814688850 605200400 319684315 311086080 165705988 886885193 924069296 285342063 448345705 213628862 778476815 782111280 336627739 842567256 957307987 435996532 821896479 449681055 100395968 548509569 378863055 581570883 322170471 139234497 603617090 507620622 213827626 716995298 915773913 520216100 386585521 614634630 884101098 994581014 296162924 911780267 122002633 833412951 858406106 412013741 997728153 975189164 269681402 739407116 822153701 257390328 477576619 442864272 673236974 991706405 162405727 112060501 108573490 738459659 295215914 215396502 706159579 595916463 386519537 816301651 507733677 212886039 312594831 426976880 428850883 394064291 181354528 371718676 877094645 257615632 401020608 204304025 955744855 990631793 579773541 513312024 616057027 702934468 884846551 479794381 978046803 409136113 563784561 954173678 575354887 620019921 352954762 429542745 838896556 843772205 718111734 754869122 557416386 722409394 664064067 126028648 902946554 510191433 851189448 850222254 271311363 262671321 808977348 614910452 526753276 149909314 715989251 643711031 607945759 470237112 368477004 864316468 112904076 374774383 846841576 783420581 333802885 471876589 262689900 665086236 653428642 174027545 867248899 210534802 381756030 550182854 304186037 826208880 398189995 259026667 276133580 884042479 489635205 212071295 195323484 193612043 296077060 495984355 416319571 820687835 385076435 404384562 357820814 318174719 542659106 671337253 144657999 734769155 750857862 571661193 731561407 812053248 521306178 962514089 408421565 696701763 684554469 208117654 753496235 416494147 282059898 123364914 661650145 652686454 304390499 915890739 309834982 235670581 765883070 589736805 889740498 711312641 429616243 543677139 620763002 137728548 232368555 621303308 451103736 735397941 599032573 533596860 843285714 682019303 702044049 130920779 845969617 792243555 123138614 756043024 280763838 238369349 148666847 597837472 530600001 798428459 359970409 896299926 641392691 938038262 711735678 455995644 129153587 638057187 864006975 477275690 924805106 701458102 816564802 223474021 689005452 637612354 726529998 729104673 998555324 432858694 125051224 347167243 548441063 874415095 544946307 698119766 779286391 399553788 809718190 122059199 859396924 948618844 429897666 505932544 580975374 821392872 954428993 626314463 132211292 533123807 912549327 799492307 901854693 717955891 360513609 658387152 214566363 128850134 353824816 439437559 711865699 387887453 691394635 422198861 970283277 163827853 334878386 764811852 676709083 110487639 393843981 590433187 599566520 243482806 615447056 476774227 824762032 790929262 502645587 848948598 626700667 456019057 755729209 170136485 346539498 652360571 171646505 964135181 144546418 523887065 731814472 781768248 764734915 488154096 354902994 271578340 730393083 735229067 447578097 318262357 383500858 689948836 447377375 103195205 725169481 351018902 427143460 167247235 953425612 302308484 889909165 557243089 932832932 147057057 349539522 176969896 133324882 572070378 883326981 185870528 231588900 862399319 224128246 652860801 192016241 697310196 236750606 877401232 121087551 423417805 470707010 463258748 780642020 585238851 567706964 351736441 826442445 846748918 597379408 429650422 810798014 141754387 743986217 850516635 582015075 754272294 765434573 890570952 434609396 475455107 407370261 404328762 625050182 768317896 529124148 892765227 213407568 688304363 558889130 476630432 519128529 429340874 619994613 927472699 347143763 731679481 176139110 991779629 646330095 743741942 659158599 167336772 866863130 151292186 324188096 780302185 910161402 734218201 148810454 667123299 752912935 355045350 266656690 772990204 278201457 851974792 223515708 773855442 256671828 978897955 417543987 291612890 389311326 739106167 996278967 832513120 550490307 915814817 905983340 900783726 965263172 934003932 683527591 351377386 166629853 745698033 421417816 696728170 602831232 234688644 856681273 984352111 755272991 157643292 117006360 160121873 222200405 634954708 578133603 835807530 337517287 825769460 166246979 870742050 464090438 492194574 526775894 878372955 944688409 975241753 609441076 900344072 710149339 692889346 713751190 547515336 564830225 249382400 101707387 532381415 357141638 294690779 125399218 796541027 819804698 147484515 612366432 965458862 117861064 973197779 151153295 968501934 237074699 457652518 843212600 455406070 620003831 331495312 167386577 205996178 213037425 333095604 879440099 378296035 398063805 233310641 365137486 254539873 392168767 917169803 636810274 311181212 210981295 219855632 151768434 153468960 478583106 987682180 485598367 385032129 574193634 117905960 622507605 468235613 379876236 500462280 395458036 171049425 339922355 120642365 692015645 163495124 825845110 828525763 776304711 793362027 981294875 207395396 103404554 530414560 679982636 468527151 917193079 762787885 786371775 309952189 485579239 529060938 592121295 242924275 953200688 358495031 148644715 312279670 781632743 932690504 471420370 557728662 361611342 735208508 836292931 196427499 855819657 498187496 238629521 798476544 423224091 725872006 368526046 571210114 672423557 704384866 753278525 612927292 574840767 814477380 408965376 451297461 650257422 313160503 916689951 530694114 553080019 134400001 916789920 322155856 657673894 764817737 143953702 989602596 328982211 942337966 480115220 118710633 109661301 592168552 829354585 384479196 274009860 332388178 573811210 626329608 454732793 699176660 454943922 225963054 672187884 194658688 209143899 293871423 260157749 217394709 670631422 673945264 803907413 935278231 840000170 240155025 714542161 723614791 756806038 252955557 895036752 294731660 892786011 260439501 834641532 406299224 727177657 856318437 671334624 456989561 707488437 383358260 824893243 543830040 507762031 367776712 914132123 893349622 679123123 503116013 207940524 889732377 224564657 268245898 588632664 621014994 524719496 773303135 508661369 887299144 837588393 786244254 170965196 576557351 567665489 373384390 529112020 418909651 507045734 228540476 554823260 123026998 825127740 328735002 763084221 240188625 707700552 778102317 292774223 947142798 520969973 983868976 860531698 244786392 712267394 553005169 772753233 337251810 318748198 535112348 500325693 153309446 603385137 893325137 361807615 365273557 664676142 365437346 150518198 391819488 178208775 482917000 868515491 764189164 588276041 411893588 580540858 490005789 492062371 892040130 825321332 431779022 140515353 971698296 109269613 216400078 934023004 151552657 990583082 738051206 894581115 640990150 618380532 215097405 596569895 490811932 645584316 449955048 105502931 747319153 621816319 116828667 912465487 919455919 915077270 484858762 787792505 707384275 177341065 905248432 423435158 121480727 684554489 438250415 385278462 844492431 894958309 153402134 612547149 346571730 302580710 325436015 153854844 355375126 777438571 785291646 656396835 233354386 710360742 400447188 509656421 850965933 927196382 829032940 268354493 131193283 124104748 810583136 692571856 528821649 875630246 181323315 675417362 130967167 760792465 519630527 956232266 192838190 330473033 722592150 997060867 357408795 465793631 459611047 524581589 375456646 315396260 638086359 483810263 503158826 971405975 104619696 935039390 428187224 734323563 606019402 936077641 415668605 360215563 189517858 403480233 636328122 687823074 936474022 580413622 418769693 208560447 353980691 801913339 515687111 958387484 139796568 737768664 939567146 600525589 600780575 954427884 288448116 571114440 944748774 449566921 409000291 946241116 728281307 371747434 220205403 719630651 345127355 921778899 931165327 515790112 951760203 413767945 400880904 156063468 282252770 491677129 557070046 424100891 627611663 470521066 626411191 749142011 851099351 624910652 249949941 646309650 766764720 600538048 401426764 609968043 647029782 764427692 328824696 942704597 298553627 341925025 587335730 614520453 516900559 388161189 260414581 879527404 431372463 463731555 878804730 990956366 976114147 746751543 464872106 752883601 222427283 696617088 771354619 245152120 792614289 446939965 660725944 969385478 777471973 185959947 686540627 733624333 639966643 881421465 217623829 461164957 477681367 328867131 459121175 309324850 484987445 530279264 961076732 518672024 228846767 825940778 921063806 166836370 318674479 263539748 157902232 221373311 942623762 240880892 985113528 879080086 389568309 258568581 416031613 460136647 386903140 966305738 644220565 326172333 371659704 818464269 719491858 772448686 618964462 614858746 499690318 262753710 168555720 286686505 288357728 353428420 447023974 913403630 892744147 880280965 427162634 397887353 583913252 862015585 721338451 760885415 695890954 559030840 529969359 180508463 957481643 193971497 844722836 923307953 864687933 496851832 819463009 581480205 667713095 239879046 298305782 305970041 809044980 641432302 263295651 767555754 483097292 466729096 587307542 136076975 604055749 235286314 737362703 192455698 745043571 115911196 650480477 436857563 927273531 601195481 100919522 344255197 433575834 559881911 777487458 218715183 291892824 258756748 339361872 636998268 390960084 538668155 992552285 559104245 532609443 515077813 672435854 913498165 954051547 394096421 303811902 714513277 441781694 616529196 329392735 540064296 223881476 931812772 584347658 311154504 487762088 977440520 480512376 837849744 416668740 530563856 599817529 362280349 714491765 368809623 534852586 653170549 864633663 934141325 324660943 799382400 519501893 873528240 615779798 802727474 336134349 547782717 704958440 525856827 412723436 645449622 963396489 476378326 886796478 496340395 115100915 506990628 816263333 601831283 919512550 485264292 715884714 468467655 162674903 236940031 155021561 852208251 711702106 503767866 535612488 987555545 926969211 310759718 791749907 205995059 135109169 817666085 593656483 349271421 535165091 638447062 693002541 300431164 181638513 584338461 305697130 260519472 606228040 553918772 769342254 249504809 405711851 439082414 268098294 386678826 625376505 269934086 443778011 964908694 874745812 642049244 806543873 549449382 110321936 738339655 313453041 487923298 759827348 194371852 228167838 215810531 272235343 639585321 293538165 629445933 824791304 561235934 854051478 874203328 661505496 196563828 610905116 962221017 246711893 297768902 684598312 734011799 496560635 236274760 680448532 182770891 766346515 386627560 606336584 584489227 377740972 588229951 148730345 673386099 380542501 576324234 755330506 557235914 608598939 108121633 314032112 270683787 718206025 705389210 786005526 696786702 127817045 778218284 685456809 722667454 379746148 512344976 493221083 198906939 697238359 372505653 198751174 179211859 541160026 333322505 870145201 186474561 211781564 166332845 503718552 228441737 230634917 230478846 865465731 181155681 645569527 363554871 872391617 597294934 557554517 130414784 491316282 732354588 483797494 758815517 701648062 833222912 565631060 692866481 773746548 454611991 881978376 354935228 582323981 942169869 423522433 761506463 467699881 720238548 448289691 315009484 841979729 417769241 911791202 584852427 196596852 651368566 147520460 428526686 882774880 958177399 164078044 555035217 727551842 601237122 607871246 757537432 813220526 310465065 744331370 674289035 401610847 396029880 408193678 833598673 140155650 637485240 899691486 325477231 678607419 673506280 613359312 910782729 977175962 983292350 348407210 841446035 806963035 268234155 898912640 610872434 260953380 204589640 515972571 104629479 947106364 549268644 409535400 296300703 331647175 428256229 464589074 798608408 545318990 359287713 688348394 743065342 803169789 886705930 217873223 961153308 631849488 851123311 262963807 938231375 882718057 703750236 862346276 533988285 690701560 428293823 631727377 916891090 586433556 678133770 438140239 359854101 715504585 157226572 274790300 263697804 554372622 768436524 112324367 313676438 765966117 896989519 344495721 332847813 623993391 998271209 687774256 290643377 626926463 803230258 317258201 970593992 643729669 104343441 256435323 934623282 450012160 400334487 322406502 274483562 468760003 143980250 409137333 974494210 448831619 838921982 598724677 594161103 605371575 484489359 563948238 467308192 200655099 719495477 133697212 718166224 946099354 680618274 543498082 204127453 784147318 936590306 331133089 767346779 330641315 678221628 841551028 358949078 505779169 727272062 980126633 811919890 613844139 610671393 596669027 628014308 859955529 926201171 824710934 907466574 950946051 254512791 992631723 720469770 422581872 660458637 206113516 740204178 189203066 919486035 551583389 100481050 926614841 217151377 228965754 486206217 787209183 942349107 199536214 442159959 932882873 892177234 885624961 434857447 190993639 449727833 345985905 627485473 943252359 330183254 601328107 823952592 990306149 752672229 542575068 415773026 627484883 673912842 699778515 260687559 777694365 970441990 307227972 113347637 334445171 732149619 923222989 993050538 554885133 838036035 334346486 263013180 458478052 670081734 609320375 735331820 423401066 659266499 171886202 806256234 683222053 438328007 760438410 576859243 471394696 351395816 192260797 301177694 927379993 401012001 706477293 204664633 350094597 957940872 104343563 527702337 299588629 908595419 801540145 439142300 413163441 246093377 367540559 411008898 615856782 695206670 812532607 116868545 104297837 209219526 163789839 694857785 353962221 668263060 413546144 614449845 488778923 563357115 801558475 269392912 621285064 152746116 120300682 382626088 283558929 199627166 779074972 835017562 352508017 461004997 311198065 202726017 766720987 928074668 675055003 572849750 159027654 317075274 462471998 892959671 316912872 261514583 666572175 229014061 542854751 180775591 324115294 441720781 534776123 489790594 695934333 435836080 823358091 444106630 274529536 309224652 502230356 407295114 184538226 202154649 120929092 560662413 498153242 593415124 206343726 818922453 625333923 268598817 143742969 498286892 713355250 500208715 994441037 293960390 589845033 514311678 136143998 484415508 156256383 938446876 829120979 409769541 479053313 847389244 535899982 255945375 719282455 319636201 364512187 330218998 853267994 179234272 715808316 519782664 208192255 376036450 578591067 484133902 470360434 412526764 954798405 276864994 975275083 403364465 890777774 234422101 656216512 967160772 923595640 334115240 361316467 311782372 710048112 174641655 991376256 163910758 529920122 696958492 349437711 270426730 236919330 307642794 392912272 330921430 407836463 474391922 118174715 612901182 786257782 734915774 597781404 726761280 789814723 326047685 116173055 343345501 855236270 567607851 621463157 283394588 521681503 747060905 493714705 348332706 848412393 144225352 901904868 543308027 211105592 681092401 956291713 480251273 750705638 373750146 887461592 666804375 885587813 800588253 650805925 105125137 575137357 134474549 509495823 392517697 218357710 429455652 735015700 744651672 511768113 680135279 168909874 711704764 143735691 688492156 267264054 340865712 389924309 531223045 460920483 682338607 382157258 251921069 986126067 726613393 236656074 733416198 949129223 230417081 677767024 592793395 692638425 688779627 940242849 390385542 504801523 210245369 880369118 156707034 277385565 105551648 373215898 645984681 117957294 126547392 882428855 989951038 984902404 729869084 497986617 416084062 884318642 817229964 808409587 177904630 594620556 344202083 937423260 332674843 780421770 806732824 629111480 718418426 332151470 715370334 833903625 274079801 429513535 172890480 651145032 865749766 111689215 571844832 239561650 640920392 640171909 150802325 257515286 417982860 988878489 364010641 628880486 895347560 495179356 365206806 136352256 439160005 681359735 378635071 764828156 625131378 268281909 332143207 616879222 118147731 599085971 996037069 612319949 458480160 209886780 810594897 592094758 464957705 297453038 304163557 544753367 699327072 125174082 181007171 765633764 243161025 988581674 604465981 876503506 486367971 352669844 827865368 745676379 931582380 258141469 471276988 206060836 706851380 792279078 664721931 297281269 304097185 940031119 539016460 918047291 546450498 298281112 651139046 188177962 778931972 551914722 229226479 285875926 875449997 350231256 173961920 380858913 335952303 969540975 126089307 747206435 495860809 582723651 118705674 187954368 323070175 754489832 695130027 985941823 106734353 771080154 551187631 784739750 273993685 346590841 971333197 537442047 731693971 208608540 673603117 597937318 273466757 253897425 814928001 373907272 401057067 770960100 896777081 180064736 734915930 538730653 464380434 588607354 397463725 457342524 583227969 975915980 350236131 946428218 400493508 909975828 949320669 331481542 798747037 290632478 301169271 557336534 990634609 783872090 192699538 618183782 858672461 498623384 975607388 491849807 608771730 482293927 383110622 690093988 987112199 227552123 615503979 839427675 399179803 596625515 330927453 226854929 801606216 510860203 583594627 841789339 995045852 983973743 960712220 989005744 563713177 323408159 895337097 587874875 802805753 984255670 637339523 116368260 482632521 781593691 302446284 716944220 530812545 886439196 835063344 766836090 855928774 611680357 477188739 360839447 708669048 494273183 337414347 206151996 750670205 825012904 330031710 646218151 208531912 965270441 946826894 674670929 844681927 166866403 911513816 475439907 126032454 881676566 699947479 992847055 601800133 795159425 295552921 922837517 462489201 840573574 325682879 923610326 273341206 611641981 219673480 348654806 129382370 308465803 837732767 147656594 939152997 681120150 855729894 320563789 487494181 499346246 797417873 465986649 288626021 960214152 174740872 430294245 699422690 919168478 156445730 904125542 309288634 839535620 109059227 741884925 439117504 207526937 940992899 216255850 532587949 114789197 804407389 710464766 857879165 865114525 741745839 602423160 262639468 434110958 851131032 234915720 638726225 986968589 121688746 253258844 379765130 416535301 285176739 537304973 144430272 969871395 380712687 423401408 163630483 834923447 253051886 540725210 729483224 249594009 708660399 509379198 994795058 834838887 702878280 899149113 957673788 850389347 362561037 955023816 862120568 619799483 261172020 513552575 511183951 436737324 829804294 963175167 370097183 521498067 408692309 309999878 356000433 565384139 583770850 566772188 124208976 490847971 502514815 463789781 998865247 694361231 723083786 204663080 798690606 832751815 422549169 188450307 696962870 238008748 532972501 772304581 708788709 555805858 234323820 374229572 102962896 949602712 282500657 677160582 635317673 254202293 133914236 456188152 371780725 694521924 641060948 182642715 774498748 405262418 556645312 733194326 654879429 321642592 123759568 301946131 633286309 222594040 588002257 947874047 240008073 388109481 776212970 895632136 423433425 445705907 159062425 872777958 958002855 975717202 851639564 637764224 642957624 595503338 868956108 428086980 853927423 652625449 300607965 855800972 555119816 577700407 968376261 294526110 150835481 943301563 198937553 919744479 637875915 443846280 507209239 947256862 495377703 358235512 258073957 547387517 384820920 548131719 926902942 393168400 540868055 143144731 616315442 329507844 951319084 289193110 859779505 778603061 702130907 918186785 499880453 265903054 907657805 171150406 614860763 769440389 453291046 444066809 453949556 237303718 809219553 285162585 250397092 720498198 879788245 828950749 914641499 942617481 268970643 884474169 904448920 594388626 493118060 811957996 233547107 302748478 822979531 598372857 290378491 554198042 141657328 547524899 866169343 751914099 578247967 284497409 431300821 384071377 831834978 636118537 913761526 324459672 219017939 362116679 823629285 226313533 922531495 453232925 393902012 698981513 279567032 978890304 101109745 469961163 323258135 210734963 943624581 325334213 441103683 666706256 130610692 209983153 518898186 397531643 314042649 955145719 421061684 924911696 928350365 918874154 284755736 318555136 364836666 551116428 916790251 739758075 490310920 277840560 346415072 968091262 366101730 577873214 591443079 624120180 474522195 820333919 967693960 448016797 164062957 875544371 379232916 609572265 579021141 898377652 691690178 456401971 910522755 417822818 389546877 281016738 615429620 427696445 539715813 416055669 403108862 422588695 578370303 655348018 420808959 480506958 994975413 671878414 582728882 807187246 908632788 756418433 481545684 812048521 396229012 222815104 441490784 116253794 389679012 668007327 316055459 430700401 552505501 521434939 886059852 415229897 871635282 523196029 842188618 252418997 744917393 446510582 427420074 198696369 747943030 249833332 780907103 854325672 760813000 161143736 376081470 318134237 917094427 466316092 506192343 841966839 504041262 537272412 188243287 592456848 907716818 738263148 528332264 242566127 569448190 416145706 654342787 125184675 790698879 812438839 859805042 348961432 815896881 134870042 623072124 486467537 273720732 698691550 672939988 243046325 406946925 915632965 489156267 805237543 960139318 657251472 988912040 499570677 901256707 107895649 884228434 977513644 569170667 355496261 528905586 978362352 343947146 165788338 840371480 540879280 266746440 276586564 937633591 427911884 807285971 647025593 449083686 315141220 934532023 744607320 426248924 739903831 509422520 259578785 275565993 108891419 135069049 493938625 792882761 703270234 457630826 811965688 608460016 451368926 515333272 777305201 464061453 529104414 263818742 796615165 554901329 632943490 726242818 527764005 257077761 966537802 302245518 509140090 734606640 691164244 104491772 127491812 667686611 334475929 345814637 352558955 992674829 620302767 638335955 148654625 760460036 345227982 412701851 235202338 132060855 809568494 211278381 773179000 754536878 247557555 150445539 662175563 593045617 523127313 165683168 761788405 997970902 435143178 668402251 727534298 572318829 675571662 565317657 917984847 147750733 397998578 190916890 465857567 501864989 324137028 172595149 801836472 565472257 204082978 769696245 577086506 629216164 649165818 320234018 649121762 844955791 463960257 215768540 846881789 844397763 949118746 738903728 351639744 557683597 206324840 261555049 359169635 677987439 160317019 532218330 103282992 403777776 120606974 120692460 908202727 820961674 757716666 594242684 469440089 790249822 729632150 433123694 442339654 122127847 871602683 297457828 470850224 340741556 516693334 815601675 613164834 744715333 153297049 638885515 618198055 306859578 845651823 952141628 448256919 863802982 831280889 681657497 138018011 701900977 360973080 780521597 111467000 453592834 288169787 478581900 170963299 348827280 307183737 938836777 714425695 401683884 732561122 357199923 646532638 456449837 523811970 919067161 719035312 529479943 845649146 763354872 202335690 444577792 608954880 910016545 574984258 599422570 185311690 134702224 179408468 152572080 747868801 694911368 841656370 792390093 620475807 214279980 817646217 915125283 479368901 785390687 179227559 901406325 919608458 167780788 430204896 195697293 622954500 725478464 894709336 738662870 853741125 570974740 551201660 102935497 748076560 733196074 449486434 237631842 372277668 179305415 447377870 908427471 731804354 161732433 860550203 788260786 243968930 627823740 906106655 764803660 831451729 760173254 180696438 305400229 295913459 270128400 818881309 619974690 785613288 272135972 150830217 247399602 553858998 596645542 570909301 491319197 717499892 150488860 372639077 115721962 809829520 904430101 498864878 927382498 626404228 406120106 522794638 438086491 486127083 324096278 499506966 799513736 913966564 576623110 220944206 483143059 496819661 136379986 986992709 830953272 784108414 628324611 972570159 961892592 460515643 677750113 445394546 192501704 351382114 115738061 621065689 119511858 983189853 967698345 561575343 413136960 910544196 776989309 621618705 787322672 686616631 344581834 916605628 498090584 451988992 940693429 731340186 440449806 673212117 162053039 589256168 472248643 272109493 212071854 495278015 550812038 188990362 264072475 491858110 575137430 596970921 873222190 835849875 728539699 950199797 189181812 114904619 780270286 866972744 532057116 246769104 623932468 635157445 814078216 292344355 413264120 890658536 853145913 926860300 542994406 138489866 230505512 614140870 284185918 915277334 260461705 757870420 483461164 924677567 484753331 841917624 777793183 771435293 664340356 451356854 952167075 798845938 636526487 384154167 677648033 144491197 514853613 644221391 115811038 964972231 756361789 619227629 966665835 436646733 659713846 488074979 592887302 429685845 592663734 439065768 847449286 993019653 213441940 500988073 995679723 220505892 412465568 561094627 417613307 319342224 410012601 964541085 834436745 505111194 222573383 900497299 486091009 439635966 749083619 189939112 699337246 656148867 269893604 270303160 204829316 244767227 645331512 481372424 553776250 705314814 732308327 123777725 242430973 780285550 295029224 297878344 396987298 115510899 797795814 171054096 174699883 154738827 779059691 880068459 502619916 635768698 781620409 102983012 900694382 293361388 605222732 330656711 444716055 671729082 886123738 751809395 932180477 186508752 650925020 693274447 499029501 798706047 648457146 340358191 539100410 457529912 156782630 864994657 334208622 990789973 289228631 399637089 808565088 812071827 557406676 646673161 554221353 154281565 144534555 295747222 184305476 109530332 118086371 405310733 473147079 818808279 327821099 591653249 992273667 592930234 255198621 104916459 846652113 911921622 969498387 393344286 373352678 749070237 927609947 868818624 630714479 632643156 171834545 757833326 482845123 870040184 427631180 255361467 246990878 195778207 797161120 576005856 589378332 569394823 986753423 821024251 683107867 543536813 597923426 666445179 723567760 208821882 398082264 952352589 850008987 558297453 720125998 611751995 395790278 346946603 614601840 327120243 946216881 741232825 394565142 406813322 216532651 574973367 915757926 807965702 311164088 406978504 436507621 613774606 696702770 739671819 201097629 132375045 210062313 817832253 660375613 720245232 829870627 218124480 226041761 293248439 671146130 413722231 979187777 521525188 967853013 393569301 557898301 488338296 766785947 122440879 921384197 273682740 464598901 892978868 299523375 185501189 232063463 544054470 550386917 382140218 797024709 715318735 652126062 508417683 713684834 680877594 346832345 731510378 686514355 582266123 465548660 588142768 764956450 539773851 902905791 182503794 571441154 829916624 311364547 113812778 353753935 875948683 411644375 633640077 737450454 988375493 664786788 348872688 283672473 938168862 965536558 136630849 376970976 155472413 368603356 367383547 618541003 627734882 711507159 400818587 378979457 976373150 839297222 214812306 894287210 556331746 309789378 395797012 635313634 345231724 860604487 624591357 624492435 828181652 747956177 207878373 189992755 570081940 799422965 980488401 971324421 546040611 781518632 453973371 318145429 634765540 887101077 463484352 598180382 645084483 946737939 653117184 873015409 752044197 849767143 601861374 265358133 842204802 530221675 627133253 345814279 784609337 234281758 217787702 787321330 980476929 332488488 306207470 330295248 116447532 283958688 421021102 900156103 404215461 549761606 504529665 712146960 899845339 950217022 509967360 287200298 756024224 272438190 495178609 201735205 116998778 961736103 230266771 280376011 114777241 191821502 639845785 481057233 642784456 172532354 270748588 388160104 968394072 581465300 232742940 471846538 736810984 996257123 331978707 801495975 929232255 458335642 453447285 135981959 634208727 500685064 183771548 302845824 948021441 372142778 851974671 222594001 156342482 872224252 441831274 456751610 810056821 698023588 644211953 860434950 777954326 575094006 498499618 769120449 644385451 561423150 894402447 520464662 792500978 884678444 336295546 508728202 959173124 381901247 138477855 187285225 814748442 851676396 719866468 317637609 716985888 741748637 961362116 224963900 370751320 769045780 549591393 947517178 639812192 306506387 447815133 767912481 632731512 454593244 697070929 250037119 863795013 873193538 307320911 512656694 484284711 470109213 423919124 763477932 936353967 163730077 724308834 955802786 428916128 622373593 465930721 672009510 164199802 631795773 491429113 740615658 826830112 327818305 600150761 976367715 160829440 494575540 287507637 239518945 664965374 634275647 883467108 688961914 828846397 682401422 961255055 432697834 477298117 602024030 190921491 756595783 639912295 874992775 917512228 359815355 720000498 981905762 579822173 539149199 814778385 389595875 977820184 841632324 861547776 368236244 393427075 978757696 937808405 959301916 365400777 522319672 254001278 100566659 992495962 948246998 197050725 365840988 670090383 871947572 847783845 984575383 736500488 918895588 273979302 356069202 231767497 902872444 823695011 877611704 721763585 502434265 743693045 127879424 856629694 744278839 368273565 915402359 534471177 712782371 500275594 541440838 218434411 213858771 716376516 789533869 403596528 277447905 209370363 559350469 325454074 435513954 162278214 796223784 952867095 571378582 668070612 224683472 228422710 151303202 157944185 685110836 233682837 441928180 231838526 211115608 209414522 569309036 481807755 328183058 455214846 878242295 506206742 389515449 428754572 780797547 251614943 585944762 136465290 368238388 391216311 127172749 601478698 355350158 181709841 885559310 867613113 369851036 274220698 883088290 502951349 813459049 337801053 271867374 975966709 521532418 527734009 879591289 890328616 427283794 388855189 664846422 669321737 570962275 364437003 396932702 388699197 461127262 405594970 768264771 653070041 188843058 439524573 670195269 194043209 976061692 396395281 895238207 461516577 255974172 494815369 949085327 217825723 808262165 475366311 373250523 934619668 626258404 310901130 390364485 848250299 512527607 552214573 207864696 724203482 526193719 589797471 686546958 707246117 496425772 376808761 851906344 535101487 469121054 921475357 520923050 934875852 716051857 516242081 641503753 383368205 573165445 357693990 828706842 228132389 779749144 391514438 745584354 611620209 541592405 786515865 310321354 446883269 107851340 191782000 659443793 286892608 637732052 197607322 923438157 850938306 613113733 707271448 940839087 991369229 989354907 975841845 956778749 526488673 249820769 357972875 400893047 626689419 921478607 216063909 889875406 733373836 302051002 520139317 552722295 526598044 187314159 854644968 377709407 916076592 189399940 863373806 394243844 765790328 319870508 131269106 559141693 797726592 101208171 181746774 294046157 472483167 939721773 810606326 386911626 255554197 394301799 221056037 389031638 975580769 130588294 525880876 804063544 679499748 860986064 307814080 493484584 479649205 783288174 793253053 746347298 245460096 840238052 776959908 550979061 653146441 594043109 905984903 956393358 831675311 727775797 927241829 983369676 512752218 106327779 886456322 806208155 303779466 419876944 192782411 729487678 750794814 513046076 503977266 757560110 492856054 693542696 856441676 133599191 865456345 604992571 587482142 411480191 552065051 769569622 826262640 425472021 369692466 880148974 829040720 622567563 920067203 884664590 366489415 124289258 799122448 929953027 933007033 938286518 618643354 412275955 886489836 318571479 154481478 612827729 215857318 319119191 344232710 328384793 949280808 886220874 806633814 419840372 518517170 782705902 538381209 668962867 349629439 232084698 681509117 833971284 365931675 397569309 213590664 844596470 368972430 760931828 166955674 539757994 224133399 327113855 956467711 445186779 495963382 871780651 615435204 163694051 562541714 643439261 828134561 687727882 871087987 394648079 400798733 500068993 861089898 120621910 365260093 152050114 728609713 783476501 986921952 600994438 504460871 348912097 508695924 268188325 190832636 273166503 926705098 212377942 124460863 723815244 316301701 967013451 499157151 754473756 609779834 702813959 143504045 779899479 935037804 275893489 671373285 433044897 618238221 478466124 269168437 167965313 252710886 551939657 916630417 916833769 477560156 199466793 974045675 697593370 317890813 297274490 757293850 320150180 112021829 511864590 384855698 849197757 433392093 918431511 307112913 948795687 593495318 869835854 770302954 988481942 326731212 383186098 963962656 467403109 195898857 728685294 658811930 983128483 378792990 571707244 606650433 194207532 997710975 767283756 694968370 477494574 452676665 909599833 387123186 447073019 435523708 813102657 784232459 729783467 230543411 883091215 881676962 945669043 684320829 313898619 255507869 431032177 784512121 877102548 670948580 131826825 292791390 786845847 676384263 560407875 529159605 467059207 585349098 780971470 121302338 420236374 875650252 689972957 840762490 569879718 721873151 929430263 786502689 583637230 756066288 771224644 329341366 369118267 935194736 998899568 463259491 386145762 254149710 454230622 736955076 656984963 249694120 603489599 118106096 152428245 819392227 841487502 177398851 558518512 356966101 202821501 677131402 461664628 704164794 247337774 867115178 948061573 489501490 211964826 187043054 455139207 664326266 695439830 698857991 200904422 316030567 701243680 907257475 617266380 512833857 983984468 542511061 866186715 352707420 794842914 836218343 772644230 152792752 432933218 499697787 633016159 393283027 402523520 876623152 231466317 928035932 744119603 245430408 685133574 971696252 112605380 760735111 985828054 123752448 364051347 995968255 824668694 558661454 511449008 458134789 892156664 714222702 682409871 145992499 420736082 775602320 674593910 458372426 217342849 303420338 830119291 113297834 704547582 231473983 996464102 713069676 440088175 960123126 755601572 209205168 488500869 539854916 275404011 303065800 432762976 394018685 295417969 835289101 771154771 868847401 824086653 542920765 712013341 286990019 321267236 902259871 840906817 242862627 423958675 901943863 459550474 295322057 838929678 931869372 819272244 189961254 298923784 783629830 616808526 867282502 279995491 539771012 168701068 570879810 561654362 275744835 803751371 223693312 905448749 922983450 111968210 292276638 789181327 646991835 863136743 534102325 531255695 380378777 855444488 327607336 720033328 910041290 439108853 924026720 292373692 547404798 874705801 479085857 869288596 481534943 308848831 352290932 754825726 166705761 512748277 144851793 553982105 808117284 589727719 965259035 496717630 314632970 589699916 941200198 354601888 386734950 248002266 960526400 764934079 756284588 699011159 414048087 611352416 768129403 797471853 208934223 277669386 969247814 445676764 818864557 717295566 689793595 589699459 931616031 768083342 217522130 139400029 574721243 681588984 905762107 311656771 900145338 747425664 851796602 696771844 751908636 850013621 986991841 269987299 545701957 493687459 855721267 107548871 800953699 970337522 698816714 672365491 141218622 352509824 614572009 459803684 767513067 432867937 318064958 491980287 489799007 265270800 504560691 803146469 131146132 370086549 995818716 745125212 152545819 135717140 601653847 740063213 127190977 243164337 547863995 290431948 370146100 880785599 880233626 526139137 565310185 444795171 983538627 989945324 480031953 117889730 616388159 426905121 175257749 900223533 383820982 388225244 169667761 719945036 730487184 582804881 931849281 315964224 592846663 687824566 125718571 976690712 171808440 908488238 608183331 208012303 146217395 128813483 457657680 801512182 218707341 750486527 544451899 862693385 566208056 902095835 355417695 966469375 760142924 252837147 789973462 837049151 636499291 641218725 759670510 743417172 490633008 157967644 640090342 110810607 865862428 183693980 986333494 547164409 141867076 901944483 282325099 561984570 661776943 229523096 127057864 805054783 534202597 620505761 930743526 456495194 648631896 937500426 612984957 511686232 142502119 617373671 748601903 186100422 621665882 252583029 804192283 545579581 936329509 840657584 355602437 161147972 155872864 715638726 683296868 903658996 532876641 276481566 616425830 246547995 762707332 813991442 282166048 203988955 498379463 977629662 831579533 685034162 584024160 890093616 246291952 941877815 292025561 448885327 960280944 506704132 278702436 663890756 392091104 594305948 984559366 885103514 273151878 815408089 747019485 724667707 696520310 452906261 854350466 982112377 260037606 150472521 420915833 300170164 429791359 288496133 753517389 604139509 695886446 812104636 576252598 325562888 810498212 435120927 387339275 505351164 397036738 271041389 591073441 470372678 288347885 423474069 922378269 663963742 864512445 909656497 170970007 451359658 411077703 945771893 364465864 549446005 498203844 964412929 545305224 200777551 475090679 853454367 371754724 793292931 790799810 896140162 243981311 210888288 315589453 867511734 535071490 881135139 632721740 152518602 110002774 650701866 964011969 888535763 862309590 616407061 859910462 670230512 554523105 643832169 712193752 638900909 750417991 564351939 266897947 799588293 932654935 926479369 466724546 295180415 197703616 142534151 356406489 602552798 179206809 833664201 783045982 508699911 985746655 576829316 656115842 986372791 723669104 620658461 286064822 936556189 107230613 838807632 365300100 357462648 764987866 240672109 855471267 688613101 906791990 425499808 465061545 614024219 164918789 380304364 212373441 442450124 323236546 337894285 478968320 249597051 697782397 345157680 260822409 248021350 528820413 760663935 782422659 846075788 246856064 530716688 933370528 814488532 512002476 343994458 793409302 526477564 507389392 767636678 490496581 945876071 130288743 307056801 501065122 175046779 937974458 633283880 685533378 647758918 888215536 624415728 376309546 468004422 414676370 635815754 557884371 232572176 423222849 810809372 230315979 680677363 216037436 473966367 853588701 467131384 754115340 765465009 169747109 869390957 577258647 934955723 631992060 692463185 336080499 778144447 800062949 342508562 746478100 684364626 933621798 737369942 852147337 638601338 303138089 824338820 680501353 252433975 211893018 353528672 999803861 105879399 524850528 785727831 687989678 227514400 498529583 763954870 121307602 486465872 795048401 479936657 998171794 234759020 722857449 506456603 288214471 903242163 557065815 186293003 766216375 693785768 173183218 478137248 269399697 114417197 484581370 279904872 296307921 784455376 559042753 493837823 472094966 644724631 159859188 128277558 995718496 615039845 368247033 164583580 527577508 493053564 676516819 881393130 472539184 227586948 577781164 536388705 627935246 180949145 986181641 546655082 185358526 931024932 577460029 937269957 685194363 749590343 336955098 278425491 535841540 588926241 474581324 352520715 275563026 940865412 106622705 865094804 116426231 193561839 259213544 720387100 285255334 455503119 958072405 627165754 453270592 112276532 792124400 798942220 612252441 975033067 394545284 418874376 124038204 722869149 743258614 316204666 192693363 529741508 233873041 896786125 302499224 887209888 951986748 533871940 707088415 745317135 710769630 810205087 693412034 140808821 139435216 822110299 295502066 617700932 104299300 421025597 238378686 500029021 157514870 827102387 586077587 765635064 999461540 913523702 556365861 248234624 775865125 614576603 295619784 688070759 879343746 229259001 677575732 787664241 533771390 898129093 919650587 154641353 125006508 507088414 991119816 840407062 730276347 320114792 447069647 640292522 799294571 353746380 272491111 450269532 957212181 234108025 789769812 918202423 992995759 149608192 631113636 376621168 658566634 643611797 382343537 271053952 635098533 137421658 181526708 951333636 920505733 840157860 666390065 706606699 591645930 844267549 169465861 288654480 484328915 940565797 713411754 523402979 133747252 142648353 614711025 786877651 909242791 952364003 458015658 198361537 602931329 754468864 422820936 866762107 756594671 652114750 361060396 606991238 506131329 127868578 909771776 270811918 335371523 486663093 379846489 120813935 217976067 652641342 180351003 319244620 654893566 840597775 725454782 968713013 910721246 448553331 709860870 543386263 686901506 199670487 715353125 226855535 401928441 662303808 709839974 371706484 937045520 712696221 409817294 237577611 671479972 998576910 169520369 238311929 242048397 595032158 487725701 826553976 476641368 304073520 764020429 317351362 631110247 574102149 915627015 837480405 527352257 878098749 749032013 206753382 515067530 275496077 988248250 659116220 249453800 791940070 992867408 634437123 251068906 100088827 830719126 196965731 553143390 258880621 174963755 178309007 209294460 937726072 154907987 107639921 764711415 711004207 638264956 734736380 314849585 596116966 312339831 823884043 456193378 293659136 857827996 445085171 736349737 221824936 868045216 748410377 692874823 734563185 980777099 843728797 259269898 193298685 821187939 724685541 366168023 380142698 536329312 743628026 754068513 601571745 722100516 856254350 362974218 524312476 365310817 553434696 567111504 807281214 370820115 797498352 784649507 832382327 154635985 485533663 402818908 810090736 676922835 923410866 198875041 625253800 794779872 119251984 286356362 913210451 949924602 192002305 505462267 949755701 172925190 490249928 545169747 480217691 119927510 833705202 911682593 115452068 600310380 488795878 188746742 164836588 385444102 188703597 840137406 952165608 403192174 309445846 788649941 444286318 467276166 864162862 725455113 668700682 385278242 128272443 827513094 732049854 808064585 235415968 631139289 219158935 581337531 386218696 720847027 892077200 968424097 414933887 120246601 806511042 266395984 796230409 492467915 215437005 208126681 253569344 982224898 733592956 947967875 865939241 152384062 297498489 947760736 431606054 324354530 847590316 503452238 967723102 806978919 398268303 742400782 252750875 731270993 879172404 716976820 208579569 541662598 710767520 114011820 591533691 831711951 500396387 406247147 975830265 328516008 532516465 472721523 445369187 258812898 148042877 679554856 410067170 101898982 768897577 627242298 444643953 849806122 731597772 256895904 945602608 832092888 982436940 280272686 401775566 735570358 401778711 842548534 959973749 820444990 475265817 580943597 154241356 567331998 909314288 393575921 396868446 438441956 698322583 697863355 410486193 953706466 342149830 535925542 670274230 614408586 267567452 276895740 595393684 289252648 289705948 814153888 233954044 854526401 425715389 937930441 629243271 454461757 194500453 344523685 674915801 758951525 627758741 474530175 353316142 883358414 264851325 402169910 643928408 786631583 208333688 524188022 108675323 442347942 326868620 416665537 667156964 285608716 702445862 362886870 680512026 852796200 762764917 859532219 785564497 811608955 875331003 231850410 504014432 812167901 820149930 566062452 520087678 174268410 273399238 966710972 219813169 957776218 237115567 594869108 706578890 572201484 887795085 894289415 566429016 121634854 801094434 230353930 587154597 390287953 850230595 554214592 220652193 455766403 788908439 891875956 666364031 883253802 278790875 871651709 141037052 964446760 833730721 386254908 918468762 469599149 315024774 486460610 922409673 466499039 990184204 446865641 695933840 465906077 266666126 648852135 575107923 528046410 853070842 971189170 478424354 539260613 679068873 731808540 100752218 419814625 337054201 671215907 151645038 366234457 124743197 634558795 244185241 572765900 980477179 381761003 903886613 667698185 426110910 696496893 765892489 856208588 327610732 271533588 684825885 615897714 389222409 206259021 510180598 875525961 461600797 322178061 959034932 360557251 736244957 830397656 148781177 642761741 604402275 420677621 787078071 276476799 248834086 664875227 471326955 244547933 317685308 700669191 404059624 299412464 227375208 354594147 540197080 252270693 656735464 485569786 440944277 716032533 839302506 959450048 651485917 222177347 770290258 742652785 763617789 870630072 665634271 994526221 418666923 835270696 252590373 387400517 102783823 476040350 224591243 832998740 998817898 299557617 413855323 491086141 949404499 186339105 439151090 687536693 978184463 153285001 110231717 715042212 506965259 410804854 710851044 498169206 486548915 255719937 873633618 937333991 625571349 458297938 841134273 810007616 604720163 929852881 889367948 254584348 493376746 625011226 109193058 630965353 148263826 850059582 235642967 163028595 390204792 406957933 570811672 131575112 946144455 972750073 101077138 699689391 412034650 230702261 694383671 936091712 350624645 683070318 998246261 436060601 546220816 216039517 222102063 850978002 320255718 923775958 489204435 427222468 432763253 379811691 804505418 850115383 631609846 480446821 656341257 610877305 681357918 994736674 675044976 607482784 926808210 412656519 703389336 901723298 515744038 674730962 964152783 799321827 981965118 732896308 967616606 272568919 736311806 500631482 705436190 548579889 541486623 355119468 721881743 468109293 687136106 347049334 677238369 527790364 676700153 603714770 580438445 542972290 345286962 427148838 371780505 291657302 168764072 533070168 613255636 545707128 201483373 632152654 244885919 999640171 751348845 299832216 300437630 607660073 640978858 453273167 803800109 710474592 233440610 818518262 309157185 451099116 771658313 787585566 718081572 104419333 151887099 542192874 729968076 351461496 259065369 691204985 464957294 923750940 364365339 576124341 436879614 220047292 855673562 345228446 945869894 449789103 704627347 622218714 843538650 264541483 620397667 667535671 386912349 533717113 401641434 957141957 241289702 916041845 608025654 282074227 123500650 482282027 969082419 644205880 342700851 952310875 803710530 399634999 947323223 678498308 696114258 106509828 778952083 450997089 946370330 131781447 239655960 619621056 796461673 195672940 750812240 539174373 637146948 552125871 803584449 325471153 938128761 970274314 137255603 324796337 947024685 491592442 519194792 678288676 877344307 439192969 877522450 505130726 144696366 131183745 121132714 355970498 667274561 164937195 146721471 608355679 288124922 227737799 313198293 107569439 360410134 248927023 626660323 146129541 562849939 231409459 660895101 222818062 604915135 318489457 999258262 292105658 171461702 700293874 711624791 575809143 503535296 658952872 464155046 130399919 759214732 270476999 895635145 745992345 737364322 750889273 211200414 705084192 460222899 741509528 758248592 311967160 578719521 214381996 844456530 263814435 336443079 945781596 397103567 177793997 902137557 173493776 705041471 778840229 855152269 370657470 930121577 879730914 271898609 688179177 532218763 484624598 275977429 414191201 956897070 978861140 580309712 766744273 508104793 845644057 807123195 970923148 449936295 750189588 917910095 604672550 679101139 885334204 266134206 530856561 317807635 445101264 903465549 324028376 643470866 368616353 241412858 391522829 724157531 378802534 308661338 854683471 165160181 157082163 609411676 988787702 913062190 824266617 743998340 797074975 576651289 378317881 415986352 692105239 998480909 846174267 771025585 182494717 249543918 155232735 814136824 569368051 305189057 876008333 889328548 331569410 262655965 237355724 260962998 972497544 956984668 470423298 740654246 214810210 170401188 503094297 487495354 123831238 876140355 761037434 704503364 849263651 443397448 890843009 709425843 101646647 756389077 318264561 711070823 396460066 114109256 721079952 355889456 900627139 818216315 276591158 279192626 900552683 374509611 857068346 678319299 304812503 299774588 385003204 812734876 317293758 846885708 607066507 275061324 308783297 471589671 170202729 552801219 152582684 221880636 115060333 509041252 215104599 894981056 449630394 970491553 430343655 873106728 812098533 203948517 115061922 199135542 197803048 324176810 498396125 150918910 717739971 657270161 539805391 912536227 239845826 862346876 324351109 118375575 482388919 222212407 389205938 816275359 949306743 471881093 664683605 205043618 901968135 873912863 899927201 820173305 156707287 397267087 925840948 966112451 584193971 947902557 543095766 500039393 763447674 115269321 227725252 876775031 469098507 515855332 105584670 114948994 813485961 965659463 836757153 561461832 541886218 751947846 314315456 912128009 725673267 547423632 517972936 671009287 525644654 493228024 349518240 963277359 633727327 136767800 254601631 584617641 305515369 424285742 596982172 102976185 616479081 589839466 555635329 270581449 629681519 741441461 202612056 739362460 249594811 167935431 340926670 527969453 450046378 487621724 980381960 961332249 758277171 235293888 358675164 501872345 445482004 124326850 992478053 608050393 550528729 137071811 868527761 288337736 866982764 718984949 578710787 504156760 318635182 704275517 702217511 328521396 247630402 511575761 995130903 200149600 605328362 286232978 507623499 614155529 599606378 510023775 581037538 222378358 554140199 697411010 377284734 422846267 536098003 185777478 270221125 845062579 937797364 553231496 794316093 849636589 856257979 544464145 796229848 300414059 307628912 436190125 307050820 165645836 677560784 718023919 372622779 452043957 487008212 794828728 276649168 713659652 162301028 537066248 473184358 474851786 490682730 222644752 560072124 568727037 616996153 329547657 705883232 133250377 452401883 413531062 839564916 272912080 743457811 699908962 107406864 613366872 234011531 336101641 746721985 830847720 745663167 600344198 549821377 758012995 540355633 157389576 610185628 580843659 825491799 548390277 522996363 203025993 922503049 201943269 107469566 622591219 918532164 788614081 754397814 408540623 898590434 671425126 767911786 940599706 124479732 605911215 314540844 680463238 334188140 692509207 139023550 892241278 951709449 358756859 777393103 451425404 336948381 773237115 344533118 816415445 184801324 851057678 194335882 727701201 550226042 541819231 296091436 667987302 887136614 681053740 808632928 331031923 632107557 818992023 941571877 601536202 464075729 125355381 415311909 788860206 284756791 304054314 659647989 368060131 652383036 372171254 858529012 315569264 433809613 980426287 549311330 253177733 748168301 979720014 275727562 265736759 617943292 437099923 184300039 101267656 370686082 335898400 803724352 785931008 194210837 607949895 600028524 472394999 241932517 810546220 895714126 456374386 571693854 892267959 947112052 824380186 462182298 773448598 631430003 286153085 890509841 616004873 781852297 380810496 493180973 943382113 963016035 146442366 119291576 641873516 182390056 185259786 581086454 324290856 377469264 928733283 501792743 235945611 166794224 269066029 869756107 745051808 110098310 666564270 388408116 167973252 875359053 803362721 465744379 165150862 573455649 413348154 601591455 898135586 734057951 887428411 998296421 323193453 773519915 176492544 830947651 879369477 561607648 525643092 148622071 850936174 267348451 816804321 408561664 596664042 954566785 248801736 599745385 186524691 270651539 712450968 106128705 667993566 974507582 285676262 119951205 100185672 444827619 123579013 135802364 794519616 207273249 616937211 716097901 269610825 137929162 810574593 762898063 699386101 634427750 719936807 207424393 826722174 116186929 768555473 456005153 633543040 250280085 295853622 787796777 503162806 680843528 925365266 890986957 823932827 272431811 300887033 443367949 506894375 204844778 872326122 747940794 804491292 481652242 969880588 123442403 764511861 333963169 694270865 682594748 973422207 725212870 893919874 630416548 277170159 187028797 327499805 273729568 390608947 155040304 853902233 845792306 108366573 992808527 522974835 798365321 445380595 360177845 188777756 547819051 864215332 741591554 810123308 327428102 180523230 393785725 909643728 595920564 894396711 693715648 979973671 369531321 296295970 181512357 278958392 229153881 564279418 563415746 514116812 600155001 615515095 928188774 393142262 439306986 365002719 921387104 684251395 187701042 687112971 272226307 381021750 960023790 242319014 517623050 902786503 175274024 592567846 426924371 416004983 533566900 339943314 639967749 470593279 515338192 102986850 832654932 392993648 770915867 249334170 464234480 632547704 222811811 314584286 196216225 416723273 607322947 616231211 480928311 359514441 971091797 323434811 134432876 928375840 270925454 509968393 356657227 243253953 355681349 377004234 704153399 465350141 784543746 789919636 971123916 369975547 403971294 774882869 342933640 793809080 208016673 852255230 695148044 204607475 438570998 136442697 866180510 730112991 732018761 359922236 265305061 443020727 890492719 589768200 387029723 532753600 244983307 583218602 828418622 429452936 365700257 700630289 622807022 357159190 501873467 121499238 561470321 800620652 294331393 461305838 878362447 398800075 250705765 166734881 609563340 204021423 958639713 706582132 165642810 325505829 571680337 962384158 719917829 166008509 813617273 720563154 836773025 177172782 431518277 913472219 520160341 197096542 520582059 374730013 830544135 124389414 215969585 847024802 711984826 411838199 249676832 363626961 156729838 177776379 150358365 903764190 302324978 756688155 103715807 213272101 633200018 621339332 367720065 628950337 734529954 211172713 872352514 514148264 952026344 848866204 136775105 556659164 816923966 129370654 414471184 983764624 150146241 182847504 247554512 391291838 485098141 642832398 619516608 661896823 138792721 731644494 323528864 837690360 314874109 826867208 473682344 584384609 965831335 233084474 807756523 801029581 753254825 721533538 674206971 767510061 631208830 631245701 191076736 384177330 283476360 441260375 369704236 718467631 979930960 986140803 389053531 186361104 826033769 650261766 676334019 701992849 662783016 537914857 884365307 127335015 273133581 726781241 206707447 401224287 522527921 626757162 281158839 589839978 659227126 936245015 423250099 232280795 473441283 941761741 465077767 669171463 651181677 851630366 910321909 496748712 512790999 434760309 674972671 512787630 628214311 752296537 825020967 366440613 222504272 970094804 795827198 554264339 670158258 707387474 855174079 541227289 150405602 933899848 334339186 275837035 297409951 131660719 284264935 915391909 469502879 304085941 841225320 277270893 933687230 829567790 647045900 999920149 993968325 564736361 927991670 863411153 514267681 903473594 890754419 867042892 411454787 300933226 376487547 991579412 257900068 698248190 411829124 658840656 372410665 370967133 249881282 539692996 408113237 117983721 514201860 422241877 940280127 200342577 160558138 198234851 316073688 263009340 849965103 181955885 237715444 825322829 937827874 815607127 873515346 993010608 458699016 708290580 348219459 676868554 925761414 355006286 534541635 919258734 768237360 842593098 787820126 631422033 416681106 888091075 422636488 129556321 132467028 363584950 266505362 918055498 283375812 305668232 440272640 930597127 962605698 540597529 260731751 383199815 530214549 616033716 808952144 147202196 469571274 417598393 296631912 753049059 926877795 178620390 918785518 838271164 372329348 250607930 244123165 913285640 922970973 526590466 349491978 373837936 543136437 884327107 986495149 875636692 323594778 406896378 734650005 567273835 812223999 245641176 793343219 614807086 661688639 871811078 732372511 896712090 453960083 851355136 551908257 530174193 139157400 988445129 897275564 653451725 290031376 252548290 573099763 446534400 615569096 768321602 183665696 691049691 500937881 487890594 193314830 947301017 653985677 375937908 230346084 862881563 901368023 345244944 768370589 628022575 587366510 619443997 213727979 520056679 468224631 877487340 522925228 151154578 185437528 214607796 318667594 536909443 176287468 788392260 627123770 516720147 903794817 622398180 893943627 402426072 677656336 509201205 940304162 531094628 223951336 726641692 866798500 286570086 937198100 439260261 671467675 545256124 860038188 873738653 290248468 361673160 727989184 655520263 191566387 464696284 355240980 320370037 516990276 175966200 783607713 971219480 936098610 451656810 362909468 565382607 729517661 377170419 942487805 459909882 207219881 856056553 514265493 832839738 250444249 335894330 879233970 685888804 952874904 950640936 988980755 410620818 328520223 830834946 583576445 126928755 295349660 174288752 634463455 603392620 329399443 672594017 535844794 659604499 755826618 418773830 764020880 500604844 973562816 296253602 814072805 768905547 583252824 789782554 766118745 730577356 731049972 889140703 737276581 195870856 790101224 540930207 594861271 613774432 554563664 781314862 792284104 587411035 254299090 173871009 406164781 519006949 587341879 224220563 319266512 953369828 564857014 257823495 203037185 731628696 650192553 174003064 795106948 293410812 442132843 177684317 664196794 869288026 553103105 721751129 145521284 733482788 107088042 932077511 248868228 971454865 369791223 335536167 601605422 385026772 262812075 926289622 909349499 240769279 813353071 530576837 103250709 429924601 899658477 856202154 223260418 714537100 554075004 579638987 453467613 960221049 981331445 725040376 223840715 699651664 580989334 732759617 639523076 679603955 955918900 215515540 942640540 460634636 817139882 396809688 873734226 868410393 659170469 748188920 657610730 367808377 883227295 706600285 189848931 155941486 572423672 846777987 523383773 673660939 248425942 392235561 985917712 872593109 801373698 106785272 139999303 562376134 160099765 769003514 384189689 654047566 742119181 457326097 269284681 926440368 859045528 914472739 601458921 448477645 424818211 577577812 584714003 544292342 845224406 458736823 143066877 429553778 574421558 567665211 294457084 494951719 429926029 221808255 813881592 422391206 705604916 218915338 331373150 818694875 703925409 308821220 215168468 402311225 753661025 205771146 117364159 732172606 813307179 426870887 463589975 864491544 744533249 634382194 316322715 248224821 817917767 219077865 139154294 734572164 817108726 761254403 396862110 770803571 691412765 533729440 829018821 841166956 180228808 207682465 313804308 584891673 409520573 861925640 939198752 625218704 720765758 615598903 739850382 529403589 338848568 832632661 393181864 122085289 681644687 689114826 719888438 889578438 717188271 136455695 956726817 109846221 223038604 747505438 455015497 583709912 934092962 476749720 801720536 581660108 973494432 883016398 488611679 839912943 802334826 610839365 460051212 847495871 476729073 660258204 765587935 800309336 451424103 628967996 813655447 677602321 199145594 102471181 769764282 801369198 274552504 819121385 803471718 993066360 913469738 485847497 483191247 401063133 555847132 372112538 729437739 685977565 256806061 705455987 307018318 268056563 270604663 178571023 704115843 237319610 164220404 147242244 617092646 585881725 348915879 160533917 911603731 959020257 275898062 961148049 576892302 842850064 942124568 156385816 584936352 317567052 981521835 862744406 234480410 669325572 744791029 628855066 695576793 259683720 812396174 448795511 984099272 366933547 962612907 711936158 657509785 312500401 225101798 280325257 597956382 716992612 886705918 934049353 113624805 794859084 537883487 630913490 611377008 417372916 799676275 986533208 450162182 634894885 708400910 898961078 851050865 879359176 701329092 520102876 595696033 437701285 197566664 150961232 677203932 181294025 755483601 701938334 616102619 714664800 552193213 556354811 823465043 581764509 361885782 700909859 532761510 261892674 805806437 117284206 734450957 858106323 132057740 330106943 331856360 819676345 894669650 975112330 580156242 608645374 180940010 864998599 940592577 429308444 623022653 377860281 624241693 229917194 971469182 428308258 866061848 199137326 468953920 356482181 114937429 757460425 679012288 482594098 936848335 880307905 419311374 994535029 598539744 920285063 821186884 428353078 440872946 136000352 537036604 689705308 584061972 265281351 670486897 633336120 624384620 285941038 462480128 254852609 748093582 533678353 359188478 883437693 663725027 271992636 889733829 857326540 924961132 883990323 560583732 521180949 372442572 933874943 902483794 387709669 885462865 254207450 230027256 535418774 505935594 621428982 873898953 801787277 389803277 559669931 598428916 375161297 850860431 904403524 231027191 594545192 169008127 781597456 199399568 214917715 431592782 401969598 542193724 386150641 409222874 736511523 917102075 501624635 111837831 682582184 553142759 332275353 973547938 600516721 527528308 818014033 688321662 997848649 149688598 902085325 650264027 242756912 420470640 871903093 213904256 213599432 899736981 482897541 772858820 501446014 659871678 314969919 725857332 710605062 651894423 662670159 397110840 524170762 439696535 855353439 494470991 105315049 840915975 771957943 328159502 193466666 113313783 189872656 187835843 882645221 820978991 992507129 360983956 599753147 710369081 714444646 639015504 718076063 622077802 405912838 198027035 956917116 417458721 844056389 386652226 979564132 915492985 825513017 883326455 622747698 202759696 611638012 918880694 436451915 983335554 632014785 200588884 596913581 785261339 922305121 491620165 195348221 987082151 551898548 554188301 558103558 998287813 865046056 283892913 679749662 167553828 129885016 269533600 753433853 855233724 814452463 186176276 741500161 290813464 796160408 540649738 459025078 163981500 986441373 475950244 543045634 757109861 337228103 291840060 659111541 663365207 874729891 415805474 365253138 844903198 393035878 169851739 163456076 187216436 990148515 776822386 588515016 700443167 659111873 889751864 539625819 425649754 376250074 943265438 422264584 649840238 276689776 142295723 933815721 293251965 402066428 941691826 240562390 324618426 171981084 700743545 322338251 749628092 940527317 315539667 791568681 450282008 948863672 491613712 448095217 667264235 711029103 152939012 651381028 616093580 673502795 126895486 197967354 153056459 519958273 468861710 766691105 415707144 995486363 785848292 667550911 993274901 406551629 770155671 792095429 318019387 785808166 919141065 725362385 106180556 645373849 143638662 477028362 566191013 272602676 794158727 480123452 451484229 135779205 837559883 605719663 988738069 876952686 305282622 278074308 194582796 121796010 215087752 450537212 558330166 663199986 786146577 440683699 744017649 953783059 693148343 655502711 624657018 798138756 240464007 615447120 636029984 599331198 714970846 342294488 490749256 322408260 496607480 690807398 688964279 169348237 330916465 507575799 697276288 197819377 479074973 396681471 618969935 626089767 577976941 736913512 591062846 454034950 303525268 318420230 417843198 810923306 774082798 723331205 968514140 625502885 889043992 453472493 412055441 283535739 222845525 842093928 749611507 434313957 193973318 155956288 488307532 679548457 662394229 817474435 674991483 238023783 211750330 415407988 119028254 472059511 112144739 469197477 711318569 210554016 422329127 338795105 763118525 592403450 500663104 820353695 693618799 457935410 819728969 348447462 768548289 133686485 827358366 578895865 350348417 501507788 414482998 875972932 236482465 296307046 586533001 216172277 686584210 440953378 327709939 409058641 805218972 697073409 971502244 244938591 361924959 999832199 788869312 731544276 973226604 870006966 627466533 709744001 594343868 681597842 884423597 626577575 272469563 592608599 348993978 801194930 136852155 850729114 430830251 279740702 741707932 343545028 210900488 100979262 790609722 562694037 250663642 511945824 414181497 792105502 927757698 369236656 877604595 823266011 280221864 656579550 293060104 830922181 752803916 215051106 211256825 221056656 720913698 140164589 546389399 845692467 148385840 558276347 124688796 447534231 310884448 720498862 396117686 347292204 658343573 526324283 159949323 674813075 864576435 969890144 917485250 236433850 723949972 794897880 840470972 324256906 576309940 315927420 741913297 806853943 430656587 908144900 847424295 722746527 440640532 612336331 215307103 871555852 367214112 459340461 151673806 405643997 773611799 782484062 913163831 802168291 710408848 722108901 964029199 136317317 152779834 302089410 497959908 902322241 275097439 891737033 376908368 851900424 971718477 166214303 934248147 523113739 118066730 160660312 610005093 256161228 466372440 250530126 562962801 101443955 920031826 475563112 691891039 564291359 974187254 500489310 370976222 235207058 640500730 128514135 793498751 101540909 791115544 296135423 821217413 471067384 424109134 780498268 322783820 802795523 516377616 451085602 846877025 281988085 146740584 349795717 552544045 387278891 313843342 946277681 220875406 690471299 814959806 417072809 673694281 486677838 394839888 590843296 576830834 494469146 308454810 562026240 152586899 761835077 750193843 770232369 722496528 264845025 442361573 306463754 116020512 695624866 470393559 763391286 983443795 119239036 359270311 563537464 592127715 333156480 540969702 423568074 409905544 311524509 912562095 527223875 918540395 906775410 243161575 663658452 593886503 981145429 830548943 720773469 707042613 189510618 673888014 357798779 958780244 301915743 607364763 169444853 383941442 248542523 465311711 658200359 649770573 347937141 394632769 417448908 990836827 423011431 824905206 579343203 519676993 469143553 864393513 195251474 684603301 183591672 149088140 149503805 990904564 819840861 533742864 319906707 510517604 868259692 597417093 137111999 440585315 616027951 451011086 201320397 993957121 561918310 239542937 822297336 452087885 929611190 844192809 507090693 427535559 162155321 605022457 880707962 659756134 991845135 742405061 685424326 835775939 376965420 171416720 794276720 808144206 483366942 474913305 716340843 627792210 336372072 978921904 409674881 532550017 827547560 723246246 970038594 586275671 715928382 654260274 741552932 459561489 579022053 775983827 484476042 431275071 512003776 496776012 603047998 384816661 464233405 605032716 521404825 655115427 812722960 236251150 968023105 461338831 544474119 538908092 882917167 519272402 754763586 817619865 529510845 546065081 920221619 631078461 229990911 772262599 942785266 172639659 791277610 932746214 622115662 281748705 372607057 865902728 881928206 763023591 109863579 920306089 663514673 886269098 771587286 781647924 477501448 452759008 487627729 383530937 564113241 618622652 307155474 988176655 607453522 594620711 743923933 751506261 269668623 891358271 235353167 456259745 365039019 106778621 446231621 945823683 980593960 318319340 559683165 490907362 564697564 518926769 970307625 134429368 240078464 943145958 235835743 315272894 146675392 345481232 336625060 308191406 245922478 659174216 121978819 612427669 609227990 982595286 278225721 657291668 369743016 122492498 950547145 423153398 516654447 875980451 574908197 537941502 320628179 824389276 244282556 721690687 682586814 619572862 917309336 570050658 212126548 355275531 153608059 666764745 155119522 817761227 114954480 426878748 336931872 170552262 241318595 287909602 479751238 353640484 616407647 870163230 706768758 732525075 116663283 931100074 519672569 186246824 753373733 626865475 426161826 384024910 896996699 381450202 523644412 524963354 953522294 556212378 828778191 122355338 261323195 308797182 165469011 687884623 246328032 904555489 496322666 653940080 230374726 125857071 637233943 211357074 354469107 518435339 926237563 968965316 532829114 991307394 182025653 426168624 797911302 770079419 695672852 912416161 728497124 699057250 300521216 525619262 321791698 506709379 658186567 436168306 402763506 991065295 190035159 252158995 874205219 165165479 790372906 248491102 703237270 224030429 102014550 439524698 433417726 751434918 689943492 842546601 241282879 545312338 795155248 521981246 387446350 876813371 682525865 952715269 818219174 489656276 125519743 998230375 431305354 481208851 532369913 324584507 951141002 860664768 258339387 191960431 304739116 807676514 260014211 593705156 546228210 319536631 507326544 813599958 805794221 916629961 557053075 942551919 163375532 227286321 193045440 979575529 491883735 357974922 984800235 564863942 338614312 370296039 359008255 528982429 652875056 529944595 275661669 451900805 194784980 468351100 571126525 273666223 540357823 778937195 738662735 344007694 786053043 319293951 198950140 360183073 850820021 428424452 293191019 526823490 685370597 506433875 218442074 676782868 746063067 428838234 862380123 212394188 891244257 198365841 625081089 456386415 252398477 110268784 511934988 542639697 803676949 988093102 674134075 518471633 224711414 777653291 251973031 366427066 892285504 210590321 118438333 647658901 479703912 173204973 829378639 542569911 871660296 474111874 191602037 764675587 976615849 335291734 213164359 226818139 344928861 699193510 275519758 543829770 493550948 187154927 727555603 907501391 581111853 290381335 351264105 755404181 684317966 677643738 730187415 349315316 473337715 875346862 279982722 159559156 415488630 933190643 815310874 789211376 805198982 932348322 253627116 407524114 191745177 715162392 512664986 433587485 679627476 555634447 500448010 818575533 127432856 230821353 330934272 634588718 315484270 932787921 192117244 627616562 581297727 559358230 623436849 983025965 205732482 526942827 323371255 244592364 839068068 646113282 297322495 998099437 519647542 165836009 492950770 221327163 519350857 850730025 713900787 444024533 675362806 244631960 503882871 466345736 563862628 776424117 974769090 549485104 126844872 549476170 484815175 710476746 221691548 705968825 798166454 945749458 236685537 481462949 486170743 536026691 784957721 386428003 220889137 141482323 430567128 250609582 430934501 412943185 459202456 177346804 270273681 543575499 843659172 509330496 282192595 603271328 798630766 155429547 764445116 274282371 285835340 600672999 557168524 246577243 270965242 978702016 150535035 563611224 430754151 975594108 469504536 115714956 712824839 740917228 455789246 444421805 545055054 565996087 980928567 469872851 648228817 963115960 385484567 380010912 390576588 945236835 777615524 782541829 131289763 389909379 213227456 118303864 255561521 762627453 732646380 831251273 304967356 660602397 472993739 820190767 679452939 904123614 474180353 132374398 688986471 787523591 696803242 377834663 213895079 573023723 600119291 666340249 392111385 172521674 680977865 783776517 798825516 604153587 147002012 947327487 125780380 586583986 632808250 696044853 164363612 643710886 995227830 198734837 748318897 379536796 983509941 758083945 613776580 362971987 697489938 825178468 307917299 906254979 429109699 289814151 122165537 108896589 798612084 635699045 694895864 577928060 373398580 307346482 861807243 848143287 894376726 992062500 832805369 687724498 321073682 994212011 182236668 139495930 904660909 443360748 102108911 697324384 733709621 348886631 738629764 747632130 115080156 572781225 978752966 264629531 516541420 333174195 180171394 444169527 718021694 616049114 869351643 405733245 326113001 379323378 426570036 284483865 636227258 515439227 957866138 221857884 256957452 571910669 861403689 594976781 230668996 166562094 945054400 288926318 940002611 462183061 839114642 664381839 490096262 647454787 442967751 552164835 779901032 426939674 148555101 665156600 650593209 721440146 579303897 499021163 562720449 799976899 233608465 275441434 502667610 219575397 820866295 275526132 738884273 858229953 520900177 889118180 775243327 953498124 572463875 493969215 585866538 340212795 153742544 543793663 944638176 588927873 248434805 343413898 400565094 931662177 791622008 498155170 615514116 981729335 512763204 877710695 155426950 234502438 825793146 366990492 358535497 867314796 215562795 402527109 650629639 342392044 182087089 295496308 921498617 646800644 379167798 840126106 725907168 771864343 872235410 917921020 392587396 903512849 881098884 918459284 243090507 518598009 672981196 208155061 202849445 839674761 316193072 782179694 324938761 977537847 110579096 471144967 965774061 963641323 584716499 796876291 757123978 438009715 211349713 469979125 536660463 504970430 541498324 215596463 456743532 182090852 132698483 108572449 453979976 914260632 399877969 316609898 691392547 215553940 745302417 200177284 873061154 764903301 943579083 367163189 314940472 578995931 484482495 206223748 738278234 298885125 966723383 974883238 166005944 674338665 549474828 833875777 699964418 907145607 532793671 966497896 615586681 558608508 766340142 377754793 276664943 146192168 850860209 132934141 614267974 765273556 763055895 737387798 433894034 413774200 957324192 493426303 828742022 867870658 654955313 482734531 950396557 164362048 275071574 909753010 813011751 988552596 251971908 505331921 791648324 544071982 473979062 956526233 265496698 594815281 178021941 784127183 170081884 201589449 401856126 829317344 193131668 549151314 353241501 224960426 531032238 845248344 707209349 415427189 976691897 915299464 795507212 930819417 451066981 117988789 201534923 752022947 905675817 206803213 169226261 585233654 803098230 315084214 408737359 634178403 440879847 572674845 194808594 800592937 155913055 259975712 751535421 246819272 535588627 317700843 892073872 452251102 818373088 973817759 885545527 260646339 190315623 631205056 438110154 841149155 919237085 309261531 908771934 111459324 996277001 708255277 782613250 587876600 315326430 957059621 476598525 183073336 380794486 986607563 501949872 781922035 134434903 603805601 196929951 214076542 762836880 631744810 211766258 753775425 833513415 171002989 564248657 481571672 955357084 758002881 186434624 504435010 426048764 687133620 711487137 347647275 691512849 926726323 590787201 650830827 873062688 551913645 733476698 782939576 868212946 188490415 601146594 559457663 302695734 674630892 255390465 709260983 694567755 245964817 499724178 689743217 535548926 652408503 501942759 212142484 990338640 347838314 526905167 817820275 847619103 734233892 243417593 253843666 727724017 271606033 497746733 200112662 764057994 131493203 434376175 241007900 852535791 514579843 948810727 181296955 361855136 324779924 145608320 232427354 336396225 238446459 377788030 927238980 287494608 115274741 590374063 380952772 930278932 537742685 131045463 487539158 591170376 667433450 786964623 849091555 749923372 104736692 198774270 170187082 789246158 670700252 541584881 508807623 368650805 935893790 891922347 316614059 569110707 668463180 839419063 509734239 347285370 715562624 985502892 200176719 466919702 509232847 277338499 961559404 297942115 338837249 276249894 572538113 300876843 541042006 996742652 311673910 964611389 688120106 174260304 670619430 202512124 500172354 140752575 711558371 621086947 837561968 336835391 921076481 559409372 747026316 951409669 245212033 104091367 252409681 658634907 871075800 125959080 296742068 323986963 743422921 224785462 375811352 423691298 742943412 500617419 181500563 664888804 763917177 449350908 344874207 392741889 208832321 648755953 845149527 100514477 194857852 217445221 955589678 497954553 392320969 281827095 255241603 988344438 909159476 759748260 994936271 156632392 381776080 194537829 302887921 865359447 814690161 306284745 258750091 279426269 894212452 523084641 894784736 815141728 999409727 504856297 320037263 654327758 936599097 432654832 610613577 231308322 968822368 750551785 244940097 182464883 989626582 648444590 722484810 689925050 334003458 902331349 687936392 768207128 875256872 885749062 266956740 551389620 293699109 464346073 213273292 537378728 893634556 571565108 575584487 722407913 355362313 228890351 169963477 969676340 244084370 312158911 360865507 846899337 758981561 732337712 307058411 974210219 266505221 248218508 316894949 380594140 165188403 734198524 456321121 182287971 937811177 255264020 420850692 157039820 676083667 549549665 903139145 478850148 985143097 154430563 311576099 899529618 809280886 743916148 234672520 503869765 892818749 657215332 463954293 385967491 760933238 858139459 644335872 658434541 174927177 511781006 883534984 114125503 927942892 799654841 887368431 323394143 941821216 562518584 736832188 517546689 844146820 849304960 818120669 628323073 129957862 179869099 844131560 245844884 525337765 963683049 221009864 872768205 298094575 705280578 194139642 552775405 845871679 807206396 924486905 747446600 398637891 991185040 161371505 844832277 177343310 326864041 403032554 957091561 522812222 625916379 368332245 645490225 560883804 253241412 905948529 997439991 785130567 212884756 191241465 938261940 346737981 503402741 922391037 591567184 939432123 722322703 559643250 279743495 797012985 780734667 992750652 926694668 409711439 194058783 428746333 326790700 252360038 451682982 770910164 936634103 514063908 609905069 951951630 734219155 120442665 986599205 548542689 809130695 700749574 223908625 197333262 429043223 849877683 135444098 139845938 616895190 547658653 889732489 453160455 983664912 418631572 926335705 978907432 432759100 721271899 576969152 599875970 349791909 938641539 783157306 824221790 197151968 527970741 707343859 692460530 558718796 463103990 439942186 355550297 488464937 820894435 655038144 187592967 510513699 498726987 551936650 728927490 269004882 751052460 960741859 893983391 720969777 867425371 824118984 248638885 911493360 829674937 147379119 365639884 370341340 990086100 618493011 225482775 548036210 775106385 237847757 232225765 546462488 539637029 170351484 329785681 493337016 770847247 946615998 933330422 636107062 430387208 873070724 843264474 721919602 473213578 743405392 735496451 481447274 482508889 203095971 311270667 281223216 659918275 129846845 852850155 488321081 615586913 676355018 940364591 109766446 287846499 999509939 246724769 267765144 327481985 859854801 759188848 931684534 106472929 766661066 841879373 250571318 295101811 723695974 154305779 568263928 909476139 319412089 731637262 552472245 658242635 550048739 454931399 470729516 935265019 969983839 162761565 473305972 441691207 376959180 254070555 840798123 458460952 740503072 718933444 140383747 247057245 765844037 745412500 319714213 948725807 737375272 282903618 471479563 260841406 537791371 842168480 532717000 629839222 446094663 308813784 252262704 359477452 815142265 419371177 575136473 796764339 680074367 539204104 945909261 780040217 419938998 674290342 474739627 466943599 473948703 344977621 619521502 354258024 934138157 413256337 369650635 228346572 354159698 861198114 650834368 935838897 653992009 664229263 943355691 157657402 136459524 964562389 686319221 531990593 394803773 927989175 360145378 190251120 308530887 901334117 668044019 140704806 587322976 231651845 524830520 627268556 412388262 851160275 334525939 877720156 104832664 981516607 710732245 755248437 590034385 621661720 992256409 772448236 462321616 697502154 747862431 112905329 423212602 593622199 361377319 835205858 700105229 176199164 798518289 210303962 988644805 415596959 986662153 269079785 881489069 803632249 423773679 484996291 937607977 599164086 783199544 498121963 479242366 744879168 280889726 352045609 172768759 634918244 398216963 570651812 622981546 370798425 665086958 190518872 974844015 366112926 249911421 542115360 379976401 508402102 880170172 388070538 491741218 833538292 633731838 259945762 755960611 375851287 582470254 111578794 624695063 909735379 599519837 401748746 730810986 597473813 345364330 460569762 512186779 784436546 939931313 270651226 354592140 312962753 650478158 141166857 292604650 595871739 761071074 405748731 531051588 630035294 912597909 964219298 649940415 640504542 301697307 416871981 879449520 911725586 627196788 319818316 463015452 803143087 938233989 402433998 505326668 460510610 415927477 455295109 466029394 840184804 693799585 929309776 747876954 761349488 628717539 745008394 609913335 100778451 600977898 823417030 867801079 798817380 516977379 380694471 294241920 137645517 102845212 617054157 248799583 256401273 457137617 666658556 272105915 931348708 487523877 885784707 314832107 526790775 931892435 853685027 873118116 777848232 131780389 909988712 172931888 118921664 628406437 228519294 745518926 614108575 514945463 244269338 200180772 275956102 731346979 616814787 152095012 211948260 739659650 759826167 300602232 597069140 331539677 191528755 512236983 946006501 373803592 855183054 388616025 685588502 328557944 971879646 388572341 344795608 302399809 201629079 151822020 388439203 496946334 121150427 107590784 270847785 938437059 837089485 756468411 314738266 788852063 814777543 998580052 438343055 122347455 685854105 761845965 294438479 957513212 239714617 991342713 738043834 332121977 928339652 482570835 196631855 120974417 616114198 599120277 152509434 485169842 155883208 701905419 173649738 227915170 702422451 533684112 392678866 454832582 821015334 286148800 889605825 228338858 104866177 803679341 739699310 755493918 409624633 137094811 120643215 707831724 781674627 637600132 808693240 618647868 239857595 389949874 360351036 312621797 467777139 259518819 682886195 538923959 462382066 667342580 878175801 556443563 149621810 518890891 641722239 465790911 393800069 542416319 578510569 672150010 548806985 884606147 934297995 831527598 781377883 150175404 363075027 813693340 401109951 312217438 229652486 746292563 963021303 742937846 428290794 847078144 122123721 158640459 539579114 637307276 106446478 429048019 540554197 152941550 587273156 244115789 703621552 158256485 518439667 445901529 664925311 174325143 493693039 234801455 178351711 263119309 300191201 251935171 465043992 470975435 832554862 754849050 974204366 663822831 687923258 630718955 943888672 697669725 175334964 529903894 610860778 374472755 941599970 369195099 913619104 862289293 469338070 821326081 728464274 507018785 744023782 504403502 113963307 810085843 911411269 735651929 656116493 948728878 356884284 491399425 218443229 929066363 497118698 165738662 544381371 825132960 718394082 650370860 323417400 507871629 723274335 999885124 736136073 843210729 275574872 219151097 375957291 791705380 934446424 465642025 876260637 556467632 616324209 862244536 530198133 342166197 400238439 227272850 982876429 591485389 254513316 302572995 333780065 259513433 938075438 341140936 419184461 129298643 741687873 702801120 909959915 837242871 840759494 481371741 643192369 936338627 254514604 703779142 576788487 562757464 935013509 736657145 649001371 714988613 736351905 598347116 355116495 179752126 152984582 248144144 406700275 148810096 635352254 664706178 868895369 630959068 150469887 496829296 850348925 534040346 886630508 358711847 699718180 459088152 502450660 179334679 891028818 858956397 105065806 717712801 721431339 484481845 290570022 505146501 348103428 861155693 671671686 575561205 113670129 856401874 791539754 101686339 486235109 249717272 912654940 433387166 507580232 566897648 575996690 378004670 440409997 516634260 199440762 347602080 769998940 475470486 408242459 893222190 530413348 297361786 431500045 705712703 512730452 313558162 297851439 666092075 331281854 609033449 702516146 911576806 834237136 255613100 235743683 490038153 254057997 626262514 804570451 919736280 184365658 965978098 519786578 136306352 440746921 193234101 278715912 444688997 666740777 602429859 231693515 522205356 859531897 715659251 579461315 358246234 350041092 589822333 246144518 698357478 822323452 676763043 113795241 107771021 231228560 321039971 721731348 558123934 111945456 909510197 727222937 305951380 684472647 246142506 976307365 740823810 423889618 127077295 445771259 573429031 536806332 521050537 639559869 921351975 599194632 570518000 231463718 660921675 669553157 699894560 663431359 235550315 423013677 331384214 625663199 831710554 715710548 995856329 790484567 714710806 805815074 301692339 572341958 806748944 622104936 745623607 662074041 476064106 435442643 209025002 443947875 935455259 218962684 931657750 909202590 674674958 362103422 889928261 127722275 967559380 313384398 286004206 875550385 453936919 344997360 572491949 622757904 976222453 310584856 866023039 943407379 762857886 681514392 526809627 241429715 534510332 714786652 251159543 455822175 503739687 669046884 908030831 979581601 625541624 187441543 332426228 907510120 186984073 893932158 890614357 447278713 808915350 650122959 483628528 618968174 783216978 208508835 433620831 759155376 576820803 178686820 155083019 110020575 976405281 467871717 471391459 271162940 647526100 584163576 673002079 808432148 271626944 219506075 122210831 258817943 232070305 294072443 324352867 412512877 624360411 287162366 816179889 396635169 689812889 519582777 219049575 230208757 703400627 421527887 976416013 532975597 345541867 842172854 496799113 432907604 961068448 103768663 244812991 736061826 708108706 499695646 682847383 482276818 692353488 894601476 557230281 149537638 895012129 188957586 485558781 577933705 842062800 164049220 551766305 938552046 426859876 576508818 151676239 727603464 333074554 691706651 237760842 617703087 219392754 111444133 307540087 974190869 889041506 897229968 805306461 665405891 156925579 798485990 864030098 342118004 875518897 782867613 418461066 856953317 866858496 593250176 542612406 160660900 949062765 231921382 421487521 397780686 110002052 347398745 718896372 237151744 177055072 592328794 306848858 469366664 145383998 723462379 327519700 295095523 808561953 567566725 853228995 592821306 512898026 317705452 472339471 245329612 550296468 852686520 463002368 738616661 211312356 670982075 266863745 746140073 353327255 459911747 719012335 970456631 176294983 544738130 369059655 919637453 770462914 513771846 322710555 584548096 288223038 637023967 461362430 163152013 726562870 541274564 599713286 379332531 178933106 424514482 485387705 848618475 344849195 284385630 155783360 417244898 643640418 371196996 174860654 585186350 120594657 150181132 210381162 973602148 498145417 743603563 625734321 282494607 767463695 963592282 493924742 804485375 973505737 754775029 738370306 115459177 774046324 505866310 856804059 938988658 590669732 646908266 273940395 562192800 758532373 265025537 439813366 398006142 843736002 401779009 449497236 133648636 172362299 355359590 756102424 202236170 800476265 948225799 186564128 315886025 534189901 713681373 717101863 401420879 436120424 807594422 222066661 917515926 660440685 306873229 795693923 639029696 468330642 537764506 274170224 980920315 921528143 111258192 916345035 970931065 618602941 964175340 228785309 837692177 435323276 222605699 674433841 918412274 414564720 610755891 131339559 967716108 663470617 303104782 747371331 502009773 694838223 556505420 537889033 540003085 917695495 717978379 709318606 501452439 201146355 807267949 989533067 675726527 778692901 831917569 927091278 900280183 550996802 780306477 561505539 963424830 738250887 640141061 258795516 686573754 128479979 394097689 432122770 434764492 188610581 132553656 657475928 746603257 953045035 887096675 378525927 566839087 196424981 993072870 928330300 824133309 699933383 183826815 170808899 999140436 591077538 522959793 503743300 578108341 863488171 454076537 325448921 970911655 749369194 781658994 141455499 190931119 775002631 536317745 790312487 675305483 272230143 243123734 244413307 201388988 463992677 125805798 243155033 521562673 482184366 919290242 327130530 841306825 657557190 102306011 933524925 302682059 323981827 136289077 979757044 287642728 479170138 562605521 870247973 521292665 700778690 134307587 275686469 398735243 603440391 877423123 549146634 461836767 985918417 274711753 372606549 985477240 878826101 293629762 572671472 184350934 878371973 478401908 199886607 805906684 110373271 102550209 537170760 227659421 688010099 197106886 170416872 584388588 816644081 237521104 954645996 922180560 802941499 507043710 160669528 891550414 533421599 706771822 358308461 755338536 511416848 169231873 359589101 113309620 470048330 589834542 105226693 230745621 109308774 938633304 201865521 669071995 226608171 955600534 942156995 747370220 287689684 243367327 510134964 663813712 643039405 341065340 952098449 868051206 988134818 460894251 958153616 206118458 383273309 995232700 885603448 385543426 273076637 760034058 556781972 548488174 541464710 568550868 187396247 574283625 359048681 623747060 381259073 241154962 611991871 627338075 717746731 301713292 428301208 702415765 515614998 867967094 234873434 718670100 853916316 493805432 463296426 326649315 384031700 475248328 152154305 550383116 327685530 478277244 579653373 853410269 502604748 939572003 362538997 684123564 111866036 198289215 803828616 922334968 166637878 914620148 269843918 334170607 974953665 606816354 480420881 178016779 468795324 285737356 274087348 964648953 793895252 144252700 578614234 376210863 158327790 891987023 347984301 755979755 320630940 288056846 247524756 781536705 180843752 301447587 794638278 206067604 319737228 252661760 683452735 594507794 872787231 463457082 328416037 587648327 417489817 835767560 962789804 949223961 380362054 887389468 567441829 449958466 710371550 361322466 642864648 415848588 542139572 475323325 673883427 227982000 441325249 897512805 190157306 724313729 572937335 372835638 542011719 753149477 120359868 765986022 755874190 426930512 585882911 432330471 681573658 692413087 697970419 683675100 277286751 661991681 602638575 768637650 120044489 245627563 940582979 200144275 676455094 781609041 170149603 438565710 499915910 683492770 462605352 146157135 743979107 259653073 312037562 218939948 654451336 928922968 151752103 195024648 941414955 428620984 176261116 891801497 131685545 411770702 461828089 166628240 166284536 218705703 608546165 149127401 652844159 406327512 314921854 116608528 802325073 615095693 520518722 175248964 945599924 728879506 916663035 352214989 258295395 793382339 722951895 695566337 964652510 777520752 725669394 816248740 334708235 431728453 916545045 244576995 693075517 751268289 141124361 375112108 594918020 928807054 881608154 800961397 539726794 636440639 788525687 942736018 315289372 486796121 571080885 774009044 340859612 816371400 891651181 645698857 103685513 889750767 133565521 565766564 578853119 612578078 447313177 114112110 686148108 276917411 903754004 155495157 234086346 140567251 622524339 509023414 182828035 425764365 398041890 343351353 587779951 192658080 330425486 313397291 221409474 610643842 549831976 943271457 322430507 889917863 188951570 109268029 566601797 959170706 670591727 369716224 590609904 643931170 110000937 383849837 653744194 623008954 399462184 101589185 937991617 415818066 913566995 580686098 150374717 562265895 155921507 336264368 148776258 370905569 168377799 588977418 782101163 349869688 534517664 518715727 596014113 202250309 486730822 461979291 561219841 381312994 225627791 795615379 240792450 674443302 196645390 240232746 661309121 584692582 244596880 164466350 157403236 397326287 847869637 795233488 177922654 304406006 359171248 226227601 591373329 269882075 427990705 618526877 899249203 360656828 356625271 804264470 214830680 199899239 458902745 344814012 267053584 280028490 724539251 462009557 768489876 453768105 974075150 226224401 988296669 944922075 337203899 309841667 326336107 554451513 532747277 412913375 166426108 164384339 379678995 804673593 308667583 101946574 722922291 137612171 784550554 270827745 651747614 419504740 662730352 320053120 369329433 993160870 731565875 457334598 707510859 251083742 377339575 709678369 947218685 674440364 560186335 181736146 386304892 925660220 644883946 537906963 264931402 167076831 520675147 225714274 135530661 706871175 219864183 600848004 981563542 780690743 993054773 999161441 879875553 346812892 307133497 788816864 939531303 907971050 621679125 714456904 734862368 850272814 223187387 575939567 451845599 766581153 100714840 236839844 462221035 402357070 447846308 958276667 959161577 985395882 120772017 448103530 575155908 401669594 320093379 225301126 671739547 503775733 411058671 586308861 576111237 165257191 736021757 259534944 818927207 934853062 877538692 148209051 969377681 320058257 635049910 520784654 130460812 958836827 590440422 744049220 592692873 961739900 201470681 412456604 969762643 864037839 936022416 638683237 312124891 309834036 577773965 449240678 830945201 855346660 845554906 118793409 505463380 669427772 406671395 520289556 700216534 987179053 651303086 914296906 503077193 300699045 220627305 381122351 240216020 470789958 165892730 492767961 921268571 400019093 597969283 769959125 906416393 619528130 312613051 596047146 181098580 824335394 867053304 525861800 902591723 776505668 718262399 273544592 437620982 369590200 815495621 248945882 685312850 404223057 965114339 493053281 181432630 129629207 869036139 113044134 254693656 674765529 568897435 905656085 706976568 689149161 281354340 600457151 545224463 248552731 556580437 969137085 676832487 319446096 584475900 754190536 981412545 501358220 112058748 373197860 989305502 721029735 840642162 232295058 699999760 685535287 702592978 193452660 698319122 890828057 464109410 185698790 964884288 954088762 386714026 320757499 765238019 353607882 936195944 353575995 191874722 879471596 903635808 411696987 866689334 410188488 360566354 423442322 431058894 969612454 448011167 478022969 301422263 452023457 372676984 830339137 740459947 532779697 695524751 553348663 144290516 479136159 258036209 325663630 411238880 379714574 606043726 660206354 769118835 128300083 281260225 279027161 322074692 609235738 196652306 250874369 544812972 684216516 575295370 269078180 940019993 664467021 572419954 100036933 188723533 450644674 813367392 720292817 352253187 915507089 656819827 408986028 116978978 801155208 855568562 324714616 719049439 994375185 876474100 800010984 893695448 782255177 870233993 541279728 673434290 215742057 828048171 913756297 928717202 830341617 225848241 771796766 105092746 307457293 326161708 370971407 443326027 101597906 243218719 799228719 487736525 569976487 329216044 527812018 224103363 408542013 916754261 685776965 919332785 280346706 155524617 266202002 551432745 222274205 498182835 576547131 907232645 739318570 826136780 653331503 144858495 267283059 242916578 359755291 563618296 532397890 996431774 812571155 688303623 200941349 700054538 915636019 759053022 511048345 982183426 255479888 472535418 934209394 171788870 512465795 217161961 915678701 712003538 222092050 969500596 768157031 511238110 883398063 515748361 418762870 806849022 409905922 682208632 399313602 257641068 339714050 283231602 799533994 431453895 206839622 326848652 425118965 770613827 877170483 331606618 993399280 202468482 899436268 123913430 345401606 121370868 272889376 508620374 827965701 122627738 755184197 389097110 717989069 312606161 418901864 773234691 758455475 572426950 980502455 410778190 811305397 350100306 571339282 146381309 169932769 442998641 528453425 150220836 270020766 617601535 245360127 934411530 542443044 825922925 580607934 994699075 898823513 365925538 963577344 992194010 728167743 414915033 221692850 483475722 451663368 219550530 213676732 702916065 803135431 426015831 243046684 813855792 568943789 549204327 150298802 857078815 888989533 974174662 154443864 294219475 384059707 342946232 520846737 127577836 498446287 978823937 813481014 591211326 777891643 269905431 434923632 510916549 360075418 116508780 128446872 425071343 379866660 889604071 370313302 814766492 831047547 161018619 688536833 847618989 658341370 953265374 392657713 803807397 185256485 377132969 902846681 188219776 879690743 129222560 564879083 227032774 101329419 789499999 507765448 736371376 123802895 120107443 676824917 131187651 384906376 460086716 104198056 630691845 470109958 961205846 487385206 691910703 101930444 202752906 363880413 697810813 334722134 302727032 229940812 714697012 619446150 778580005 389301964 734153565 466038830 979269870 634532126 403028304 318958014 850230890 326065158 191217817 551829036 669393548 998380279 934940381 865273111 567188292 359015724 891414397 305053792 420246973 114058180 981107315 426103315 569288022 955216998 918017274 423630587 277949147 590873280 142842452 878953633 543486861 223441389 747758390 347320709 347477194 941430049 638511970 977587456 892818815 160628881 135908281 273145701 642303102 871688584 935267843 416828691 105828281 308299970 875137596 682450048 264391171 351592100 613275866 801285483 133482731 434961854 935944763 832807558 384657392 962694026 568496028 783145072 576280198 816264108 170132163 226756553 830654192 564456942 300569563 211487729 593127772 445753391 358283861 900612596 794697434 370039295 428678342 125185316 242925305 184881032 795636411 503036708 627734909 501814316 284640803 857622686 578440229 938992937 616933152 246842067 789334832 763557187 122269713 885190801 750425575 737365376 916769500 879002478 414386810 865840482 567774011 162465584 677676653 891894977 250794596 504351550 306929046 652043579 378901748 631309109 729833500 618464393 364338331 957659760 859023523 979790171 219897868 887096246 571612100 654781918 238412927 557975419 931459057 579507664 616421014 956397234 150328923 145197798 611525377 659920626 638295793 409721049 784152223 671275521 453691550 890662274 106751625 213597079 790781431 932399052 587795587 649541738 400514305 752036622 198536910 607757546 128935051 371258684 453806972 277757700 692712086 104716957 735942479 162753918 244100391 231401016 475465502 467182962 323805234 210972356 859335120 273153248 108365945 356103720 375742329 732152349 675087794 164474758 831624575 244832707 605146791 650473872 538440848 995257729 336111586 112348124 962276779 745040935 429252910 832859974 785773068 218700660 875999779 745923168 745989083 459083899 179777252 155693468 566636965 467481001 637498768 210514715 378276703 508985968 891575166 326345785 882052019 343234272 743429068 944391187 669562014 686165712 527664840 353137755 603654720 780853893 289112682 478646929 495523744 190905946 128897422 246915910 928865092 475382840 691320619 603186232 666615426 613791266 523267137 227547339 461521911 306873486 223969624 985396059 701284432 362074674 853459311 355223048 488440123 907914346 580843516 242276608 717343869 514195472 239001707 666001083 486331878 663886881 610316882 882254618 367492900 563901148 239072088 322760608 483047764 475193311 291449724 745089234 553342189 438819439 718664537 786987480 702197577 265393063 188266774 555369129 733823679 599025143 458976495 198303037 616587059 288771752 399262082 702264699 140487065 878038819 920101178 785585113 549290615 400046414 409051161 644278129 756495227 955079808 963813519 165892972 623735974 382425129 207027463 625144953 874873923 422634728 655027526 301542135 525259787 926739197 161571861 610798379 455255156 362124868 656092578 220442821 401444555 572491734 608912977 624454426 301093507 588657152 681408574 773069599 969232357 185112441 435570515 520130680 164206577 425735597 800815558 347531545 849414142 379159287 777702088 341210554 811616659 760780498 268621543 768338914 413965895 934691987 492701532 580627356 979962985 183042788 131799960 698478909 320388376 841272682 561293403 246640689 784470027 535078888 638788597 978560617 367690857 182737397 599011174 865583082 774934553 325770931 837345651 132258197 432207119 277843978 538479786 833980532 952491179 656637391 139457116 670609865 416503713 351956588 665696564 429015838 726898687 912173550 562330854 897381462 844655104 438849129 327395717 721092586 538244340 866693030 270290447 204292526 409183026 460544919 202495703 552568305 623767391 102224323 115767948 851502619 874838749 618102407 294681797 844921495 720615016 750774944 263265330 802196482 150462382 582451141 877329130 284148619 754442645 399386465 586175560 350812502 857603714 769063240 461159390 463333291 951590282 107991705 756387805 353233620 349633934 992776000 104900701 599178118 586485978 596404825 757000904 366387539 455721155 480415117 769135864 331343141 729782003 393094944 988369287 438426671 323379494 293020854 365206232 120977073 441116583 163282051 338471380 310914028 235245551 583221196 188687793 376213547 479694518 297049260 460804425 962917559 915123041 506425686 380022378 107976163 744159933 902020233 877991479 496323105 589466112 108163398 686472526 220126052 667128080 497319156 353533671 288537808 451960693 864719641 564320415 518644800 469292211 335886294 796856502 240134197 892047129 385598747 359157580 132019144 643938346 906400577 456382233 354775249 799910052 390501332 178272191 945595453 966547011 871551219 400002557 782201499 746361904 465879772 410977389 309972743 918965701 114335237 537656151 561493578 498173807 364923344 748349961 744431748 518346805 790819797 154640674 352851381 900519214 220448205 838341941 851599437 871013642 380417091 352027020 923774971 455695455 712312446 297531858 959341219 974688336 391101684 204868920 373903921 909331881 827165495 565013316 547643969 147690700 854487365 818097179 849805833 722494862 775027224 486559001 953819216 125065041 985713852 311227243 105675822 583239225 364684056 436734119 450796967 911755592 276764846 909713676 999022228 410503449 909629968 622340480 273465925 931718194 811963867 135596926 914828609 733467705 570170854 906408131 811182007 823375642 631075296 692929651 324444617 599145140 524853044 683994650 474783376 427992020 174455730 335567811 646007759 512658885 833917721 945610540 656007501 537619291 738183745 404704623 225612651 252183536 579534376 799809687 673198183 572508503 737435469 978887100 803408539 742047020 418217451 252258918 197038105 231698662 269126258 120240943 801184225 735588127 967741277 913151514 414095536 569299323 255363711 289535038 504339932 304606512 236738231 798105085 207216633 494392031 531667407 739101737 139226913 679867387 889126417 100466127 464209409 157625621 848248988 681657654 696667223 841077096 884502510 305643240 154071749 612570372 177510875 627939471 973119858 276498606 795930425 839796926 507489778 195323556 229651955 685618360 986585563 208478150 248971352 140573244 713095262 855653714 265608861 471042798 512305770 913360208 592670099 889959633 283762511 156854715 727749157 470420068 142643224 275499712 868153016 618859381 211289177 900913991 742267530 935303572 913866669 112467948 414823502 510166809 266296941 189077556 873189685 933880941 591140134 491400679 205943731 729721083 120287126 445467164 103367967 482510139 186382457 324915664 776052480 206583218 305544978 233801718 219043056 952255590 866470135 789755425 258596300 442269245 142964111 268046754 204477226 960410381 370119525 960289560 134029536 513122937 164043781 649078707 706234042 327950288 887313806 731931124 174463825 962881989 201876512 633302767 393237043 439172246 380274261 446626402 134768068 496073405 119418763 147270330 336281984 753972236 593561410 613081629 740576528 610047132 473867760 592728364 666031063 362641277 620283898 551882742 355902446 104201767 907047944 359045328 737648033 130380142 173480589 877099996 507003086 228227248 104920945 773827762 510625146 520585761 118584758 229740194 787733460 735726651 896296475 664857679 254385499 496338376 888395112 415869841 399251513 685092978 245115783 995132001 201630984 930706154 541046368 642119365 565856318 667799148 974619673 526812724 783480581 903209232 142690821 731005841 578098525 933840237 237815815 382426276 729210588 328085973 930933035 662564765 890949590 969925906 376476772 373293670 237699618 566190495 491594310 494514875 556231185 763808906 255076146 545876254 998583656 151138133 948629191 289261700 778264923 461322545 288409600 368024631 117419733 752612602 590421205 296034213 279621292 513458336 205007144 338135636 292118908 690174685 458745701 264187185 683513477 456388728 828662133 626539372 827442660 634858084 249848970 973138557 498734882 473717241 214801263 605477737 106884186 145541859 951365741 322777335 342601356 471616806 305736688 834911794 246633866 931542316 983740084 421916790 774555559 841928905 573776486 292915472 922233996 365028590 844824963 288106288 169460206 169496735 363108383 110383097 835860716 800801393 313460917 949280301 209771385 138701617 514448803 755792039 792528738 841366408 981992733 396712102 240213027 510646039 231198537 150005718 289865619 810744881 980225968 428299416 992715988 948262092 278408033 408709917 389545907 236547955 205261072 493443549 611069898 725587162 439112822 569205397 676312852 739435124 735620575 588686755 709739310 319264353 197741593 460422901 267018527 651892417 248368925 721827140 199700989 980028565 142151804 943081315 950518577 105085590 514985452 600719603 274012309 833464490 102421052 229110065 171761648 462608271 504628504 391214849 164212754 434053863 545966653 611662535 526781433 137602132 494389243 981040365 459442745 937056993 854754532 295436940 208197978 487616071 490958325 797638428 744470906 555128851 476683493 887148839 884236893 948772939 856424724 219409848 838653848 901067764 821895587 691180576 877938004 810644367 322893133 149290421 331699138 776419280 346120955 650271412 300667882 226397633 778779074 377765198 952090796 770946368 296723892 862001268 782348342 282356339 979192668 944204449 725588193 929811034 310244184 244358882 679402371 166251106 479272417 156001366 348965536 171032658 902076789 207636432 973037626 669470547 857296482 136665765 902554255 733374961 327045934 712475159 340948153 101271001 913866690 950510032 645783238 482370867 358173418 874935181 750653953 793470467 841136045 949613253 458437845 113350786 263023930 682966553 160391934 719605807 154853846 331420595 732297217 362605562 229809479 735653367 518938192 425952097 955613326 426143398 305717635 358194081 144047488 397703861 571940723 440478098 827845399 153713454 627968831 617165442 447663150 354391225 792121572 450747078 705967503 376257169 376536136 687909279 156804049 355810393 150598902 750264093 631524261 742062944 650626884 122594413 357814541 738841723 775404336 911704984 385085169 593281956 803951383 376131246 962033613 321390924 309385913 584948827 615543748 851743006 286712749 665043767 467014496 313204331 561199460 735764602 947541231 615630776 318966420 933784569 349075952 949850507 933427939 690821841 548527222 214557947 405617338 120192038 762359082 978565396 112801910 856128338 596977175 615901972 441780704 313643689 777751236 159213870 916420866 186908278 571728674 395355847 228236495 412199224 740304211 291688550 784330616 237718439 212973586 622146839 868266989 781880289 276696171 253756322 940928756 550558041 233105379 546691747 527624030 333465855 547199096 846445680 990938238 894322388 452971777 865724080 131614942 990480188 149962684 243438630 300938421 822695062 984094078 385690879 683863179 432185876 793177194 412312762 760588035 464555031 958416069 322191008 139069422 239683263 697415583 359395832 952397721 238430762 854692579 923013635 561347114 177830793 475637198 679740684 986148263 908154169 146709418 812880060 145879415 539563069 778289499 431974490 750605539 183644961 208449663 950380017 304672089 110224558 696212359 989782763 698938510 150750132 987358352 823500451 189620349 312333390 395129492 712800706 468639660 475755835 282866032 186026846 290893981 923560969 184602756 835313410 127495445 654278855 628181321 930370985 750808507 389837434 348836419 236538654 398401902 904833128 771326040 235358866 323077531 493750122 512038332 850415952 966173124 292503358 978237205 190568971 789840077 533284567 903177387 144649214 545072191 247120878 571008443 936624926 771174578 118503657 893025984 713497190 577737820 709888776 762500031 924567531 747801532 817075652 790204724 990885463 167775812 561716673 509208356 869809527 529730243 817543249 705748554 631709111 816760649 139969438 253761503 905877263 918948768 661314090 505762867 642986206 406698093 850293796 297959497 160714368 342072801 221038506 976759466 351468370 148949154 758095397 475625580 848907814 657614972 739546516 272242437 218883224 317603071 924866125 178829148 951735996 266018725 851146346 608317659 986687021 319920979 271611367 829854535 153085253 833874483 664686651 246881506 191870083 658324286 454447702 891213419 713826625 930848122 951086393 162679851 451418220 569589436 528995030 394906558 466594806 619455818 310705427 876330074 807848206 633086145 700799345 159970451 437721106 531615796 672421092 280896473 348169223 978964219 618628759 616699799 589530328 392868622 827879746 507680306 458365180 784463505 481468228 812761775 353876522 273617877 584708325 544220457 181236517 702027403 573460865 402593500 906933528 594955241 366016361 687196779 379276487 711800441 663827625 520489695 754114383 678182485 840576766 682435380 148942995 835478757 233829399 517383652 849523081 393268826 426785327 389872612 763385843 317989561 556113881 519520849 786238832 588665712 439617035 176675505 445322815 860763834 266225208 675931065 238919602 643622921 568346821 951561262 691647967 190271322 688026744 789929146 194099870 939323609 123230852 924739625 873309671 291048044 196752489 546317425 736250138 734273018 867255480 588414262 600885911 192843284 123278546 125113959 195780456 580547554 179115058 633443299 311259289 839293262 158714951 991070568 949985476 795000441 718735122 943259869 658076617 138883247 194907429 424990692 146736631 621259809 532584396 195901368 511760340 471104943 615014645 173623343 151436012 793484072 154822470 360923438 653647777 285523380 192769738 579703439 493040061 517230202 538217398 175341189 677490659 202338002 408123077 138824340 830480115 938487515 327397778 272187167 105676842 485003467 698206343 789380551 646354519 790897448 909843256 975021263 838035119 717178479 515160736 526180320 958951030 849350131 922452776 672915082 779521094 577830362 306970244 113920308 255222618 353601904 130344119 921220636 844664672 868141716 591085527 763358338 379956455 155583110 913982476 350249749 128514755 136230681 311644277 231627663 151993816 140888197 285453927 524241692 237909066 976737459 903299323 184238328 860593291 223206548 356075817 661362315 681091734 241473088 582861861 774504949 842909013 566348425 892093952 141243171 272698221 563850458 708692228 998526221 815612086 572858693 282881939 815055536 912848641 633266098 239837244 580852257 645226738 809142380 125918163 439146206 457535103 170999916 362089276 577082084 347630329 830809390 593244807 744252999 955067522 943352554 259583639 256269994 997236110 859610984 399553410 995397845 533987850 521801306 649110646 145343729 637965621 116707876 190536130 950823116 146265747 157337728 657338313 419900926 373165550 605483621 358727771 685737738 307792622 428968041 970010472 710290555 266587709 484043642 922676212 686528834 847297950 958884781 752422395 956292447 192661052 400688044 322409576 712028457 951924419 388783303 261852166 562956335 538471664 138401600 790100974 443569350 565054445 946639931 311614975 255979088 568415761 627332034 942862874 197756427 471543009 959920933 211070854 238515303 925801089 969621117 178703614 825089457 223016988 683519874 909710134 323729217 988021217 893119316 587177619 282536531 554353521 290128978 752969590 801545467 350825289 531231136 918155157 814362318 754378661 300204894 662932376 491408380 862192757 542866366 951087357 456297202 687498016 804449012 948333865 160919720 154969543 631384051 223341368 814628130 259846276 241758440 255923423 966337173 823112993 983671192 749066728 186028648 236626958 527707319 121816360 154891224 924550599 578825452 498281460 436902281 404612389 556835027 578368325 753970008 964362728 381571071 816763489 984373077 568266934 842624633 347620561 102542882 948937442 328423287 301956689 642919820 213454110 445965874 652887296 269643535 446068094 154448520 121181229 632489774 734368257 695644429 575172333 108448790 570446769 712627947 606816996 654950264 859186191 914421970 265560758 686268456 814542782 538355015 230142425 231216042 545066368 543135130 715359190 195743733 150133125 163601471 133918829 417744289 726006166 723241414 723470015 599258947 724304236 385311898 383993162 413419861 598590416 694939150 710123111 875610459 695018008 664043964 384221765 330831512 785194099 458103004 351175725 356670234 489306257 710917454 244091431 307550937 651364169 553600790 784680670 194515703 146607506 779976675 746139479 643015567 123600131 254827829 373628373 342080062 142054587 226961668 776460430 333317742 492898735 123948119 505677292 184519192 176941579 335114292 166703002 873755207 496902307 598984669 832130665 372351233 425741620 860151749 938187285 263661056 126779153 353538051 297459466 377685746 836620113 335822528 123011383 349519517 756536698 250652543 994070269 726832085 262471263 184688609 966817095 905307338 346000545 368663571 266209860 456216339 273579698 854592327 369665672 317034278 310432218 778238688 459821334 844869031 116591503 558679832 663602104 467301382 187206304 516437445 226463766 986014821 551114991 200325612 378353681 779207372 732808876 311245833 427566949 287403049 666242172 438376333 502980963 213266689 441696637 493924628 535865293 856952459 519956072 784195924 525572078 947885028 821525864 611307187 600307429 470636313 204064241 881147398 649459271 466316666 585323472 919333775 907795504 598332021 477219353 633610870 727060744 164304162 769164640 902631356 395052897 687593343 877639822 585541409 955425831 842710568 600007848 972853705 186192267 624383935 985245484 613843172 361533927 771926486 991250932 915959613 553042251 129067115 569491313 897703349 201975985 502133024 320252008 217604500 837428087 875569130 205156799 665816341 374423834 754717930 263754846 309758318 952146422 693412335 212100519 210936609 305195704 139411318 633417426 815674448 937580321 323813448 850040110 137735425 664336336 745258233 581126830 851492670 993582512 511897432 503078398 215070964 580174046 504573118 989101117 447605854 256351203 159403262 657504901 305735434 558032586 909491764 293038646 598572073 719079694 347428754 318474366 789678777 949547235 471303449 415654014 978568411 965024548 803380280 296964996 782865805 585947952 586631823 994261573 508803759 150853769 803855649 284323125 318874533 700880836 886796306 235410257 641428113 435940061 459307609 936557313 247809730 246713189 761442825 553686757 808604894 310054949 199979921 240599522 889802830 488860878 918503284 654933493 112695883 720011150 384803509 937922062 611468344 400757732 118490947 275553651 394957356 871570468 611633751 632361529 280584632 627958847 378796103 673628597 949213664 787438014 616691355 403559049 363018093 730101930 641565157 506782110 375887960 750830911 469150236 883612673 828094404 974823185 401885948 367048445 421101470 778544652 470999750 543110510 960417627 976959178 167076595 576135736 883301555 729698466 420120444 465429240 530866729 549066625 731679521 911468652 448153331 569834318 530732185 217904533 229830461 692868724 447498857 574079346 469733450 976680178 794865759 771593653 138141127 576480894 419601966 517964852 711565063 549792059 194087505 524456359 567262084 594727991 419014236 486527314 158499006 512907278 796935054 337689201 615750489 483439745 291875085 756632583 918684338 418374525 905794066 433848684 973145863 861928644 228873773 719712609 339707006 241390133 394665717 452657687 461843118 474543329 521397507 737998951 216377100 252449591 774157713 540572374 599585652 855113469 333762588 106837335 190327107 226650494 546382456 985872931 450573774 986192986 361597694 568635862 197677944 268262605 472675933 182721153 413897127 375660178 468122287 862002066 630278132 133871272 256479365 274829488 760480447 336299349 630382263 917916997 962189032 274162828 451076905 598838528 254674964 315691974 684753272 402048536 550369420 308159238 779861077 843222882 988595045 277434689 460236707 548434591 544123104 771204555 943340374 635134684 252557056 375729532 927041244 798177885 389809187 221660833 285911460 366321350 868240150 190614634 503830960 294018933 127772048 312592410 821126073 221580168 326487652 230103462 525719480 888897597 607947546 547898919 165888187 480751597 332674848 948470305 770548400 763506231 336128580 482679004 725228246 747144662 812507866 614292358 633086328 201438027 232877848 638437937 779614527 303620024 561021180 705880495 933994669 134200172 432895315 561998585 121131763 395820541 276226354 474742610 347659989 102749416 932440655 929175118 693995293 487058176 588341198 895223218 804627871 832471642 302580189 159076226 557757882 246894781 227853831 355434587 611938943 751907495 940403238 659724325 929558141 945322743 346016102 700312178 191049683 138105955 896434108 622109808 625946340 388306143 738465622 217388523 929720297 107362617 113654663 349240936 587900442 886702075 172062367 398825856 683850554 925361677 990950256 376744387 984754026 645475580 554970462 774309594 281210974 424356938 405667706 676404441 192947878 113742826 195636481 554400403 335176802 267384446 215210055 125041010 586835807 149515973 804169023 686535225 154692414 979616464 933119792 777831169 856583694 736320261 850694049 616401171 701013981 726107529 789715153 174118153 621592179 555013542 328164666 101218371 577153233 633533796 862261526 111136728 898772796 410893069 555324055 371985651 103701516 750524399 732514093 288730352 434441671 587599493 567427125 298933963 724594981 227762392 917410511 312018703 191635060 531733036 786183661 572544883 957540443 420463718 512465442 103715718 490020891 272365234 986349486 774903948 890999576 488930133 685636024 288043559 741784851 151720477 446454147 463239679 515009238 681709441 320876354 927933636 998517836 702232730 683338487 181628470 748631825 772320782 669530827 742912758 326017706 321913835 528143740 829150404 796625060 465432509 563661574 661824309 441114796 542151391 312780412 684452853 921287785 498228093 460583710 552952684 166537863 107154560 651261487 956892618 175466916 786873975 723801558 215071447 304657190 810507342 461666029 822005791 452259475 553818174 960217708 702728056 448891706 744811398 522878398 959415271 910968428 613618414 649209616 183934847 806020754 870342529 885413765 462823769 283039292 244199425 605200432 805480518 795492835 978052632 635525055 185969009 115912208 813218272 787009253 860578432 761930894 359830159 626996230 510311776 960417785 757121685 830233184 379155117 329874513 367586180 622634226 682087707 832110206 698199627 414576234 584520322 386713782 373297969 484822732 805065363 190725203 870298288 647327863 520476147 209226756 254171950 567242965 125151011 287307117 936074428 139327813 616012955 554931657 551910891 329073007 556052343 851587046 627340289 205728246 286113089 596634905 193438834 281429987 850920587 644020194 452976053 151157439 257852551 802059893 419269517 563206692 330922443 841456753 694369133 609357049 452563386 343416461 381081464 718360753 361066913 644899222 185928613 485529743 415247768 160883045 556011071 841361849 809552405 972040595 209606754 676097643 755988346 366940677 606851895 478302579 463305557 304529536 731843478 131738545 938737113 456162992 808085624 538312189 605331986 618907889 745813780 104075495 909912724 616442149 442817592 941560569 910626564 769864588 813024508 735696025 535317159 122654993 177123068 852355932 168641118 846087446 902585576 757015837 968124796 996405741 992063064 784420374 818804515 953539690 861038686 161331566 433975253 275465368 989769715 436452986 835532021 962510673 323867443 836847040 822728695 107343474 382675864 600328983 755255206 872496763 501665106 230625363 360116129 714720292 271973558 695539061 711855619 435691330 556091876 674527069 427965212 903504254 137219503 868853374 897138586 396470147 634553161 720045566 982273096 421285908 520540713 144268016 130339427 990405621 778957119 280601860 228289801 262843345 220746268 189139201 646885301 964526179 720444258 839001432 290094732 603826494 921032680 592642891 533842621 143302944 894652996 146632759 998573394 196460648 738479235 834387228 745713299 745418175 712498308 857738535 591938814 466079180 759022335 175702418 503394594 837615139 528338261 843890463 926992782 364135518 445234869 928639312 461118628 351894326 886149332 659916758 313644987 224192098 282500981 555691806 562638305 366096877 338389585 463551420 950305480 267241788 703439188 129805997 320100410 688234644 633618130 776800013 556223691 778055595 612527597 674541465 404997482 313496587 396742606 368282714 806174302 949732769 109042591 255189351 540824760 317587468 361287984 186390408 907555526 502123767 481417559 922150952 967905523 352306914 810375994 541764831 519873337 632719398 846274255 544241948 537437180 562257705 391145930 115158151 588641618 608708465 729338473 690730784 802466932 592243649 504473616 934127958 225248413 295074414 720360613 813771362 170259724 203519668 585416883 451606856 351037857 445584398 851203903 862353217 367045195 339915959 578378434 868223265 270907012 991531894 405160400 546999539 711049765 939312471 913119886 553499652 535655119 896739274 309412037 151888312 103014369 527700047 178683784 848614875 732494685 787325589 686544369 238187273 272921203 174338738 876974957 983193973 725355286 999832324 756897925 565046419 539569299 964144145 178139223 772244304 602242149 253602011 193222394 906719356 519776349 523028839 185534978 941293012 651530291 537454751 978807476 405498621 435305683 908559891 946053892 675492579 951021381 858066371 379473346 393192982 257749137 923746581 842103598 425778259 940292288 530377284 382817910 364601719 730557239 111685767 522541011 927078713 274257048 751632199 515131211 934655424 873235675 608705068 510249545 762544232 409820271 421571700 383293258 834616177 144040029 606553619 529698416 856180737 593974204 522036373 351507030 291926045 163101030 968573439 857075305 449142724 125996194 822012645 136391945 281992654 549104980 483629263 857464956 292716076 849456679 211709630 999123476 849959242 257466535 791417252 960611651 440863507 924340280 343296355 786457792 119464274 807943226 346397074 312474267 981653697 148974952 428851639 316014880 879503983 540559197 702770309 178316454 568127096 350583711 985455012 543232262 398123667 536103568 219425822 916698221 151199721 378476014 431850842 798850136 907132730 576934119 137949160 878524239 210281076 774646143 141506893 192786605 840318361 285499377 968249850 431508511 610895577 673548824 576136793 198965502 717124373 849305210 376313005 482196584 983636976 192954836 632315972 812182894 780437241 863513987 512514139 581999139 709098635 535980728 373563300 998608356 475584674 599820099 147606485 144066567 370336223 780889238 924510305 528297204 561613485 104272534 115938461 299244580 893937215 362087260 530219965 310915735 433842887 398041465 812386211 145581142 394856318 927825441 712763691 497443249 678750944 817970040 362628549 715595679 873532943 644277183 481477428 197437030 999280773 659318417 890020791 141914217 149482728 112572871 299580097 707430727 409215194 738413971 956353884 700347685 697622151 520795020 445123369 437758428 708018358 474666650 944124525 350319759 704201898 909055495 357543880 699670457 794503925 170682679 749538089 682643967 290323685 253781267 805453835 332900123 335589515 799274777 293504978 492178755 391199860 993675529 576756611 845085609 308406869 452240566 501423782 109996508 888032507 720281132 347580378 230940999 591172750 174202240 887882538 254182462 282617390 143790507 360209538 400561713 544020018 775315287 847747986 907687738 109503985 268629229 272642767 583788491 729304129 336800146 488616185 750199967 553452505 640500448 266663940 815722021 562363185 632797105 994559283 443493388 283319875 334451278 123452167 888120367 782402673 147872580 680801602 191418312 521446240 704084650 376502567 681809268 166912839 164254108 925851159 453401866 248704423 478199846 387459652 238892827 640597308 930319277 453971392 476920961 316933841 672934640 773042274 864292457 782350219 146631429 572539473 172277815 253983838 427601475 726805265 478261063 344928453 659747728 387828973 801052264 665528634 832862460 819026616 804672374 930059457 903090511 539098022 256095264 806713102 778518267 417540118 350858295 769442312 994135311 500798213 147920097 723584589 743058768 602908425 921531702 843690395 391285013 110493940 860716685 221446131 134021019 647300423 157968023 340593371 238855389 443868395 530198313 165900095 651235489 254251011 823827508 410393051 824874897 447775746 386601764 760986918 403051946 839558302 180896999 593283711 844822943 611062778 568076889 879453570 203766818 716925144 102444315 381936187 266063176 743453548 257680486 716066637 505927567 441778695 480284014 547515807 777709460 253111505 468115306 921751321 484245445 619692119 980935382 666302647 423757566 403542807 208668368 783489819 876588940 756104350 787943637 775534626 454475306 377829206 446001710 892113889 259785004 221709008 255343656 376276799 729760923 516814573 128328276 241214824 945774850 860562906 424219189 664419653 957357048 403647194 469722978 461044829 235230072 273245213 887846017 192984042 184936154 377524257 898758741 760712590 861580847 975628627 498182105 248613922 184376682 337905893 196734929 431161485 184439823 881417960 904907521 255051051 498498061 723713840 124350475 246832758 714275481 348398583 782215126 731739777 591927630 126082452 214848739 811567988 925938179 307988156 357018731 101150438 401181846 592389543 345528849 218850295 358141216 135177646 768211897 865459631 504877172 894451830 844892963 756014790 767545614 253873675 430310345 229553208 824401598 466760839 564601027 966718980 667768817 688608081 309078979 893313083 303702393 853894995 256879824 757112349 563108298 448907987 907612569 644842137 722989701 954277934 703756349 649581012 504645218 962862470 408454597 231790159 389153127 375135830 531574393 794642750 829418095 264919295 803972371 494064266 699676127 812511833 641771719 654484871 475106624 159086519 902037129 412478699 717740563 428174213 144879758 554646780 299917109 700555876 832238315 401339737 269623277 876013473 999198340 169369161 553290731 779638078 305609714 619634243 998955931 231158702 152008753 710046763 107221721 468602269 979031035 847314165 357318421 675611001 492133193 322839383 675600664 146187604 863287560 638774315 770598316 304892199 171037946 116109236 679672740 899205571 971372772 347821016 137002432 179937223 480619387 184402845 358354416 557564783 743782991 542231503 679574983 496138711 798140498 131416133 810769425 972308063 587002731 867698940 287630915 792669149 694144706 477167721 623826419 554976296 736615863 163571801 665796505 310797507 562140997 118169501 427908340 539651284 223126959 137344481 594098710 776554078 875425255 620803995 445894365 911073303 437357049 618715211 204875922 102232721 608720882 331778494 448028570 474434484 517843819 219572743 761821655 619224790 337746243 407897674 454504748 836732855 430412177 306178151 845409253 716937116 201509369 316594892 817785607 361769375 948206046 177883939 108576292 625102478 933526877 208593474 270984193 889352050 193583929 291275371 897399727 118441935 577289719 526581319 488707921 222099329 197132145 832394641 567446054 803595419 352438298 422598400 313786879 370489157 501582424 754722378 300864042 516305041 372320306 575040766 888499592 159939915 787464774 202076779 542461159 659873290 789586183 391321503 992099004 599432485 449008545 632480835 439751354 607820431 644207814 716939115 287385912 996486773 254860069 649283153 637865277 535368237 526973135 729384408 527966213 462991512 533198807 781726470 129082778 663615239 345894911 775486591 317294331 228520977 480862450 547837931 898262271 959741873 207606304 735645193 320185413 985335017 211104664 832972366 537338207 489464544 484480449 717585460 747546510 942636945 285140188 492544825 513677266 525109863 964975791 924823025 147206414 140751291 650608151 739249019 685544402 508758909 778900986 162573462 640622169 778581104 345859767 205222798 477510405 868628521 108397335 105281117 777599998 579870697 873320340 571554939 169993007 696824474 964111965 139278796 233816340 542825551 582900744 852562497 469420605 428042912 202257663 898294942 590192742 714706720 959923801 217095529 259731062 573807202 524425955 319914284 140853242 189608861 515678904 282669328 915988203 617735303 225711849 342664793 486615261 141147776 561441830 423470538 209445311 740519386 557776097 525716822 185601398 783106940 220590831 520749935 317644904 475285359 913213483 284223831 623537994 140874698 915286771 629797990 689131619 856200219 518011227 565584098 730958664 351857743 313116529 202009323 836033736 573170902 834060064 834417220 216812754 132291457 721097801 378539346 949987828 637555838 901662380 202193222 654936623 823240399 609313122 269954081 358123178 869609047 690627750 626524617 244417313 916034574 114341455 286469990 461752713 201165898 239877933 698960243 726947607 595924039 908585344 228179507 726438189 210892221 424349451 308451884 124741871 451715179 425718307 714929818 751460878 121438106 692595035 791178669 191029411 610528450 626305045 779245624 576063800 214400862 598092323 557576028 938640740 959713352 506584176 684819845 237909500 837383457 266458553 200142325 622834468 820343014 510926557 146856517 460524040 928651370 670759015 575103487 884213984 725660308 262935929 965770224 496007473 928747262 136949730 382310937 111858256 823753885 746978328 790260764 582083183 703562816 280457995 228166144 197413909 741590244 443095621 320064834 770589364 146747259 291912101 821737363 102611388 113855875 533238663 465451610 164874263 958167086 365291501 262118933 356229544 298931988 157992281 743273239 335264756 864261891 288177411 826642525 750311330 424624700 389875989 114992310 808040054 981118353 733351063 141896803 133148090 439897731 403917159 396796963 475990335 356592608 206021844 725033238 757854771 345776140 241050563 539592853 168432480 431328445 674232863 354682990 963840375 183624348 672959084 444129265 833124021 492265106 445321911 902800611 372703507 559071774 634339984 302169425 779582073 170647874 978700714 129697291 924138941 325809924 765536434 561957682 837683628 356378008 990519521 916074639 588806661 665371250 378991737 219863094 473887191 346623019 153299868 449813878 322541329 678949543 384401398 240680242 916474964 232964586 448281262 405376237 469106268 449781208 251572629 859797444 259275329 533315660 507889491 125316142 605185563 426427442 905477812 884129706 506998902 543790856 321797197 593381843 135599484 117043082 944954633 722473465 332384363 265985726 398241125 435071208 262804642 917208439 641511307 124296454 976080016 320150015 598456990 164964173 731530994 931617891 351297942 865728939 898194410 662480687 954625661 986753228 663798913 888308706 172066173 447353134 788159029 823155603 426520921 443737548 994086162 796316549 115562279 732186874 342452888 267231928 520925588 701165380 301558989 461587462 963175747 341916777 792881282 575902899 141572324 456333527 605898554 934818654 927194960 702170308 967085113 893575168 154294867 736073704 660290874 832667588 807246836 969575878 813474385 346578789 754872570 871354210 589604702 421205621 116500533 261723533 333956861 858382095 112287185 626047626 126740358 479194191 404973049 814189875 259454600 779422488 510830015 711855507 475282744 859574446 540788890 942668692 719921288 781339056 927346811 235473659 390278227 266953605 489983243 530595664 438570459 395258235 247054636 911414030 680087876 821529535 800690453 402456005 144612011 297520959 569566139 623197261 221852711 649745342 670612670 582528768 751261464 489507144 290702771 899505216 595579190 268562665 147856660 952115830 544472165 552337933 868116918 579045174 325306826 485039172 116437534 968378787 764877382 761338639 184023561 194537308 168986414 491295676 632139284 756174009 581052633 851313499 163183237 570279873 788923794 852974257 998336328 919464800 141490975 735789294 355884092 886589071 462824936 257222865 793209213 377941966 685148623 180994955 730491213 283213854 982289637 620264021 213199413 842303128 103835553 579996739 716387879 183207787 305624162 986556674 738599892 759889694 801483789 642405319 776324760 326412597 116081984 103208665 279291798 297412426 468481618 473413899 433876151 102299067 505152359 877311062 309555825 819574052 349002371 464994094 532651846 734312576 967683721 291365725 874351039 495351010 273772736 280651774 521376811 301738275 211318048 558388683 878322767 573787962 662852671 507112903 259473142 378298115 789997795 955429111 370300160 658734088 644704779 981683800 605535690 368866262 485310287 871120745 574679762 408361670 739840202 542022645 413648768 494843390 708900172 121398224 597204415 137133657 557973910 128012997 828983897 358700929 970017219 899595668 654355145 279665645 822151742 663403728 971094971 325292822 551915401 353043472 139393983 831001930 246695039 545381627 549531917 521475684 422464762 627611136 742876532 468072892 274637985 327944656 747107618 240259608 251984161 847607666 402366796 979717946 687563300 454262363 782865230 147899184 526981272 212567246 697970536 303384553 516064541 811602700 741133995 990661274 106164499 534294796 767693426 354800154 182946298 546902540 448651342 155343671 696721013 659267546 251353555 973963136 644021022 105248542 985358293 826069104 417085350 569444108 901575685 772978799 545694340 967528109 157520739 886245565 918855337 111037993 170147906 284217458 805285012 172902250 193846476 131458487 525415862 795959672 648026034 655593726 333442923 328171539 970687196 674626473 986748575 532240360 312509824 299275957 130678890 451182529 637464981 248676878 722404549 279770760 623622675 373376708 184180760 473275787 465312527 757749800 989447284 637546139 173717558 404711547 231377443 718785123 570960481 404041124 890215171 674143623 571776769 764973485 378397266 222688469 425143411 682613267 905702076 802118009 362598086 815022473 197664371 323447753 330830545 713591425 296747432 589990336 628308550 135118818 616795411 675371459 267510373 576632236 915972654 439203601 199785293 557279883 773439414 361440951 225140694 845654898 434949129 353345921 328987701 324622465 381218459 936096268 589867314 263907497 464081958 442164586 193539943 796946718 810737931 660792474 438073743 545114488 882891471 278630607 645885863 527783635 123934569 962970000 500238354 987497477 462339024 801078541 615440982 681852080 820885582 661478819 190720280 478306063 867974700 493751915 484316905 324659983 328894741 866159700 445621915 799434035 661463949 876338311 270566058 770250040 485956088 647848111 781649795 743755773 551242713 646040268 947675881 300317715 147818122 515884759 835121199 491217977 804287866 466156703 322248994 423503420 524629021 845885059 479543392 412480512 960224570 682183534 631117534 142487517 835442491 431803965 876828829 685850326 427604935 164889788 817911146 159994108 459687961 604832310 252940377 926845186 598242070 358668014 582756647 119240100 328552690 976305693 689406548 196681961 448553017 464417495 731890500 986827670 481931293 852167342 412538419 930058703 484740986 682276961 681292282 526876070 380010358 852759703 933205463 212946907 433998489 439758150 964749079 498595497 986602773 230253294 642486631 650369192 603038282 325790604 713700364 189999655 854763655 102262538 383856792 165283323 594057231 142134513 857227836 371811340 128294335 439700371 661680601 558941570 414144085 236109633 374006027 105413231 594027613 981356109 478556834 317938124 896575810 556420265 794079520 594081334 982522013 580996406 715264671 371615245 710347182 272186321 291621767 453293815 753538188 450610918 621849355 842888112 106879329 459929646 708526535 350715026 510621099 330416651 908729675 235485219 860991448 951707216 963262099 249562776 795478127 363936472 942796237 839223614 344621895 608330311 530127263 741037200 629817331 712650776 868459829 291964702 744108479 645031850 504358611 836694234 174384879 340112051 433749798 376783202 455461489 966264911 122026846 557450733 587316123 102299545 794503383 522841823 906645241 597637033 233172151 960456369 203867291 642382982 566807410 827241385 376979547 729168133 859687636 513676924 494650262 290617840 950556632 942422611 794651498 532319016 651869441 435418511 124543196 636419699 689661669 828714503 692986785 741616657 893871898 837675645 304478032 390915435 379194515 850985287 469871805 972662415 623892747 420379555 869535352 112877227 892071856 972716360 137954473 505377460 640105559 882272085 177736561 766115863 536866202 161612144 316428110 972883011 847118851 294600988 530434604 689170609 106292458 887529158 360389370 924295346 739224869 178503189 904962462 790317173 238562814 182724211 513676597 202713803 155857582 457983742 725055835 833183961 972957063 352338142 670011111 257457697 374877692 628630830 711006196 281430019 934343838 125972035 371363993 198403275 579131644 219157661 712130621 971605027 247637179 255049351 752808174 221668984 360699885 911301576 857279322 247165850 313360873 364519209 190220134 876794036 442894129 194766917 741990632 898887401 586923561 413571921 555928670 829616798 199122968 902062812 612674162 350223392 109821174 105242488 925488495 619470753 329702453 549023416 992099168 130100238 832193718 323934446 219942050 675895173 917993500 634093949 620464413 796136979 331892139 411523631 420910005 579627310 582706808 893231275 741300515 204931722 594485204 272763663 435918592 483882985 483102796 714000945 529643744 738349754 568834506 442962260 529793048 235391662 457029626 591148625 519650316 407490397 808133478 119640818 796825633 269008761 502451357 866585388 428408549 105993357 791257088 187494070 351032828 529842656 668890559 954893575 957411123 179594844 947038537 339010127 384982125 250599017 764609998 215998528 899888232 973634567 337736839 221770094 776249966 133773483 771714286 430414237 914606818 555747088 932975501 984519261 779747161 842434304 605596613 164875318 596193397 237876611 982943083 327814570 484102993 628546753 458905491 695984008 385054994 163127895 555785430 524707160 168011255 191511943 308297692 228853734 105745322 787529171 180509689 669414739 573987543 163198414 461481610 351114068 259552752 904665595 404188961 915190997 686494359 803653109 786286208 402850611 778054495 480112083 667934767 953056696 521745892 395229207 568991488 109401863 278638576 585820821 439097889 948463153 107906593 969671961 787669094 546596004 983970901 817104562 426618409 863214982 264975124 105644963 502480910 490509241 424476291 842071015 408598983 540786658 590009747 942683833 683430595 192656943 993121701 659581967 766626083 768042753 221308846 248809819 625564824 406288495 663406407 471178649 886757377 765428769 364639290 264850107 411832456 164407967 521672795 101061790 408403711 750441566 319225978 764232099 982006061 768895992 833128566 437038600 583634272 884660116 110456780 269672014 882423780 481262077 526021557 685492564 213350928 926181843 677630029 172260207 743410624 210180099 287512886 928259501 416658802 620232712 811156151 342611403 323037883 158650861 539998454 920784861 718307524 308109587 356241304 612056684 327271390 231093844 790321453 353848936 685760705 755170040 105060689 368977315 235173950 829041534 257999852 344446724 569601986 697887938 653484990 214984473 552642176 836940985 790170282 528484755 308404704 852075854 661288736 740738839 291235182 424026139 874521688 305690309 443609486 478208624 382951948 720648197 658400422 620704732 719991557 477962795 957487905 437939398 744627598 335659990 165692122 638915809 262141877 363992535 228539073 703893957 998585395 414801470 775413489 764102214 768469221 505764284 414265971 676760189 206876703 450650132 382140648 122578913 500117224 113438705 749642074 326292578 570494781 637799853 120233617 180513769 544503962 830702551 923720883 361024573 513522836 709365227 829658204 927148826 290303672 909973963 989049362 909282275 229626404 207636367 850079459 126341888 527674051 186011386 609874997 556903397 803037563 334466861 444484014 583352411 839964317 740666343 628799499 492534168 528585926 495543091 638071642 939568316 601283324 869337252 606061854 539979120 450889043 277482021 966928033 589714953 846998890 544320589 213758792 699814985 314782684 402307183 637423074 691336394 789130731 969415381 109393384 807606822 958793073 750999359 203965020 566040648 662880076 183093336 679169012 525976945 257582488 455027930 894472706 913928144 795851023 752817360 568009061 773191711 386679168 335393616 912252258 974676858 527859688 704545616 116289065 343390477 685952889 685909872 661116270 365755004 990961337 582465060 427473079 960057930 940945308 730176503 762943459 617249867 385389001 350085465 341473540 890223352 155707062 400502393 209710483 213525935 532029848 524106674 952143938 139654656 754579672 465575898 905520858 147349962 595524447 399519081 529683872 996642009 248446642 710948474 722011693 592067680 150605514 194724011 426621176 359887386 640265748 134708457 201806136 930697897 633001634 723659200 394801964 486795598 275415934 886947378 791129723 871633807 833106016 528621833 754323634 417187206 179573180 204881395 959465833 209598687 422305643 431228380 101076270 659360719 997857471 143459035 775079708 778500658 493056213 278164968 103122038 838459253 115328239 715488694 587896615 529365364 394612024 780731281 664835401 675993902 699224777 482903274 869036016 657482746 326766913 990705813 741939900 882581754 507960661 304609910 592791073 891743855 965728163 392829672 898475238 878816013 678175512 750866000 983612429 890085312 601756328 317809360 708889158 744977120 530358561 875634421 431138901 214149734 674437198 583145726 871905420 258371679 250710416 925792564 644050555 227062530 138721882 249166402 171926087 978574832 679377056 682245497 766853076 359415821 314650496 343589502 711613444 774331725 498732502 632630319 803571116 459585968 173577371 844274099 606742130 920528829 508406575 737057082 498448788 690961508 119349723 194164464 861352014 359915929 682779631 345441328 420344882 562905557 519902488 558563840 806638353 216747831 784354687 233954519 589697630 116774484 299305782 727039609 263793938 122955564 160494218 787248769 753237737 490991871 297257342 491329525 465892416 451426495 362583688 181716933 457291275 837929697 169991452 212209329 854613673 947271488 989397149 818576131 951793089 305858992 509438158 928579451 144682594 663902606 913076703 218420244 433812253 961788149 527008181 330371520 378612042 269762878 353600865 343628302 855299842 646007689 809903920 772637511 853275003 326673211 860502980 643706484 314152388 308913872 763291946 764943667 983514990 983451396 612882212 716782823 494611161 361917836 444380640 554396459 137145051 548792333 449748844 208876337 483501030 895589303 828947402 135264801 495354835 906115704 189141115 782718924 477508431 425413791 383596393 520281635 193356306 120673599 923319566 552084455 203839873 681305043 253790224 537532731 970449931 453153998 526920226 106369870 489563871 222030293 175107072 877025188 699490967 364420971 323730562 584351845 744527858 344525374 515299686 320996631 177087783 838879139 381522313 162375431 190587189 228115021 251620547 873948384 751778107 727116354 182006657 163292962 823648536 123106179 239360517 479168387 592039963 505276548 544308216 590845559 798680267 263072401 715655508 114410108 801805919 537544319 929042902 595977091 920207639 990371579 943355721 379969027 823399209 987708163 923682159 156743445 639158666 792866044 861366155 250856139 119503263 991707115 537713655 419815830 421934702 255858650 918588696 499930703 346596880 825904369 412310083 584891543 746373170 509915924 378909421 227990304 170180172 181368604 113483098 543956259 308229589 920299735 464467564 153115023 504099344 937541860 827573225 687356420 752735109 588441586 176977705 181378454 217039378 982383035 718768436 843913490 400084460 532137567 119629371 848973130 375518415 705261765 966898998 782729828 848843765 602277088 330486045 335577043 589393114 699177447 202438932 121364772 876299541 379599626 608100418 424369838 269963955 752612385 993238870 433051645 377486045 969634191 181753265 717056008 916191160 569440372 428215517 416384704 565033431 255938358 950970236 308352232 616379170 809121797 308430712 330993249 729211830 685877659 986591570 609313052 138046660 810242883 965117980 575198024 516423386 115412558 981861146 255350820 286882291 691709379 948472023 223083789 687678010 441435183 779315309 260738275 595436894 418158086 169097564 288154102 668464822 875996475 296540088 782004524 631736619 719069118 778294986 783097403 358088809 512244445 817232991 232741405 587320054 200370726 889514774 221175058 958156029 737239942 255899451 714331347 670561689 277997619 312032666 145516371 635195270 694175358 615791003 647852554 127178081 556581823 986933410 425284848 790351174 585217399 270402825 290778756 321888312 226318778 345856869 801204302 442818264 931771737 888264626 482464110 262092543 473424029 699416037 743846417 211517356 956370367 728533161 181450747 590506700 561953496 776045469 717073116 478455370 575393682 414632619 698255860 298613182 765392988 177900589 148905692 384288191 973762121 882772282 148592818 728863738 598766627 862222776 633479661 721552010 691242613 908314948 596478972 974200899 868496209 281695780 400606170 890056705 240629256 738844805 198267930 900040395 350095269 586593581 795736413 976121167 958727041 158186743 481203267 705599353 713495635 605800413 426720572 744835300 831930457 755924440 966805209 860449498 496518333 693301873 733056043 732664509 599726996 548800902 224816204 881605876 676554955 849063809 374504532 162631687 968078338 464127167 381035872 182922839 283843398 298198211 418877892 366792349 352210457 731754378 539758067 544056172 816963051 302076444 913661908 212138908 879186052 110415179 404382666 776705359 424191070 975949838 646181281 787118780 489671427 943559520 428897270 301546326 285156579 393726915 673576583 937314055 690727641 805414964 785802264 617498288 977490491 634309017 289113952 513493458 839248785 240838006 178545969 954226522 908651046 160647886 951985713 376780123 243455552 758860794 266790042 767869328 402251224 464925815 452515017 512744676 804130520 185600045 237553601 184354890 241586860 148934835 971688107 803928833 114224245 439087631 634127099 122487946 571171850 840581123 603473980 970922302 219490859 589704426 745149078 863609960 899522222 842234538 956869868 415142647 108705039 742931716 404727784 446732137 234441628 520434982 363315112 730434953 345036804 456205564 322801285 354951637 395996004 969805834 405109801 253915379 978940597 824532693 610657769 595624213 873042413 582595327 242010397 235796414 488959788 185435043 892347144 796344043 301340870 604868025 860323716 996915518 121780438 751193518 511020943 510995300 233420639 882249902 893132996 313970556 263186690 971285995 138007143 301031643 840578501 406517462 277308428 903938245 145521680 961983812 853268287 143142756 271159902 257249427 169425652 951708109 873516723 119620053 700499443 440951840 165111887 115527667 589375937 492919775 164798090 323903532 143694485 589525491 996630766 221198402 842175713 462663885 275488341 791075107 589356946 830382992 535609110 398650886 926904159 202551456 823645407 398981596 768010697 402492912 780345072 932364117 662840871 540066337 523363032 633250135 128617552 695401107 830940063 128323770 140629291 308223643 143755690 726283704 664470648 940767289 793255462 456301118 823710474 571698391 144056491 882030533 507071743 961828874 132322031 880955581 346357292 672038860 734684435 819610471 361516827 300124647 129250712 279407703 365750786 692508646 613176473 680557988 480938532 535201201 219550601 883789872 387541681 712854547 691568001 189371898 840089389 656358206 231170040 198472139 461973716 652067067 771428124 964137435 305508620 936802309 899772618 800579005 808838212 785608386 966832651 274643117 513786663 587440352 648686131 625445615 173153036 669745419 766837054 239653299 167614228 578243693 842612976 662628737 328193329 983777144 841884436 259234281 778428067 998700030 229105106 348351445 782445336 488845778 499760692 585528952 418798666 788954861 613967480 778263148 684635908 994860496 581581479 966470875 993014801 601613666 149346967 521166140 848650114 560644235 421131679 869430206 858187188 614915803 730692969 871009541 309289987 651529206 229092917 333232802 300074529 663863295 106105993 241108623 390630488 670094103 212283067 770615598 906690991 349972414 435125352 783311695 462546330 464819418 454474466 438914453 932308465 607399701 273807647 174655317 306546804 702684845 196223287 450747923 249967682 682657025 590118086 921855088 479689054 674773582 437323320 908788689 320467401 983103937 152216297 383433903 846132630 527276023 790231238 533487477 899430398 352035160 387844843 685447382 993068476 948974169 799813061 839368472 645716518 823451137 405550521 732941416 329678375 929875042 745737271 210486924 604510146 889837300 602213248 157368806 347730387 894244976 665527138 177387408 699436981 888522278 431034581 425506268 986003462 290903696 668179149 512425454 705979080 612776316 210923561 813954800 776043680 316245219 871498939 482999735 388646796 566783476 557013000 583195890 409622320 937396952 215685292 987444225 309378097 460843622 823182386 706261497 531730566 676756262 502093360 766829548 183433261 326923292 420927901 882437473 944559239 194149796 643302344 322085143 118183727 791622001 711536606 790509987 644939099 469041703 747029216 652022093 737042136 838480063 777136794 118830327 552981235 393845055 746081354 580073198 294040851 920100808 801618238 510584796 413007222 294658203 182140921 144475478 448033266 613131987 798660229 230677466 561981995 479644095 386894327 745368720 474805917 190574313 135912752 337547250 486307268 597669819 543087496 220835607 699748817 478572157 449031574 744527559 326178379 779506369 766995930 708925549 754508121 592113628 486448514 977476323 144110785 372600288 131588917 776173746 306142664 647683813 552687914 393026890 762626992 917834531 492411972 287188304 594782403 161803517 874388419 553351278 305418650 745784757 591375032 483219470 110135689 584694730 706863399 871808625 119478024 521860657 972353469 229412079 988155003 874695929 555336834 964152089 744111337 551066595 131759958 274495338 907387431 316260144 431487094 982714561 322259208 213756355 124975360 277927715 240806612 340528727 424673459 301396193 296497176 565525339 188704497 994470654 721740477 694130920 618769647 448124360 370170292 871090425 639248714 225366121 565651810 985509704 151345240 432782986 623131035 367262517 451007286 337082356 216146643 990002384 433963798 224464653 915239324 889715355 736839257 560156626 465830332 606866821 780981278 566132558 223899809 147288090 536776460 754405518 959599797 603194068 929736710 359733265 839688772 540963231 552043855 939557464 785193663 317441567 430640250 503290100 884941873 429541782 176843680 940625544 388058790 162077753 536924293 569481005 169793429 343686128 915313559 928147001 915005518 664555890 979918302 578281621 373701148 297370396 201612339 442564396 922507561 279119029 189083072 793367022 604221420 857276791 289210406 916102968 311856381 315410138 797254012 481855094 158531659 120702196 111890721 588552147 902311294 642234458 376899669 848711397 840811445 881918130 320044485 666538353 341540828 348824767 879898082 161759459 953523929 651820723 227718447 868262431 521901903 291133636 767347740 136830173 216003825 713013683 220261965 227150342 677569345 288304872 592299203 951322167 950302634 676719138 619903267 397593053 377305422 381301212 160938662 356809876 864291106 508355927 606398226 629389626 785004426 667509827 378691246 924091669 453363321 841738168 982770214 484837595 706255257 510283745 715970417 553009256 886142880 647431594 676295407 948938333 876656910 318367374 923625429 129178452 261642388 635784578 322544440 282700457 262235257 961158584 922919307 456930690 774327695 751863135 361639063 678018718 880623273 382657904 776638401 749834443 931521863 909400871 557880664 779236974 479004730 584696013 628748082 391363613 281964725 938447845 226443401 288131094 192975662 169998885 757411798 231589883 556669496 532864926 884945543 592839024 995015118 416484003 943958275 270172207 591683923 934309280 239580998 867464761 110044696 729888245 301134161 651453822 441307857 227822291 995185669 800259837 964029571 619998342 486766435 549114596 155958533 724745816 269272684 671873441 879531986 278661361 229970677 959299648 737165084 589550113 806245772 248231491 953147971 404520215 125821505 770654833 771424800 912066131 862163655 426590164 294335016 106929490 410129150 930172844 405702334 222738056 640063517 330668111 149570812 243791001 936534000 720719859 133408437 485339540 511237423 106599661 941804830 270476608 899006543 454253651 871536690 821331871 594360489 511029396 442674832 162597634 975278866 650106160 989486672 418581628 577088743 922411203 547495616 765916727 631784212 626501387 535194592 183199887 617944199 699505613 947850315 238771849 555116457 944790154 623960985 305871441 927809168 563881785 211227508 992214755 162453291 182467131 228662440 414632884 861104749 292711822 536223242 736339075 350350378 198289651 912443775 443106018 768258827 667741298 738816425 974010406 263665941 153165257 501623429 705694133 651227954 508564725 939439287 523031809 278947236 115480659 708808187 927631276 620973670 886910463 702898030 731342279 687601409 970447218 704199884 493474007 842328005 663914732 376328557 172061665 537349982 743152484 534853246 492194061 282391812 766116998 101823852 271567500 143422869 220023607 291690538 682227171 519516522 290349418 308816857 392142442 919039029 809681205 794517487 185836313 659503759 190238798 981650503 456802140 374126586 156660731 950877356 640595223 510513456 946282693 754192992 219091803 699033122 412603291 101726459 579699144 920908268 338469025 962885201 879257369 889068390 805779784 193621674 894044807 699317561 138848401 561574209 143642744 279701528 656566537 125827243 266437512 818603515 919067492 129902943 248777811 958402755 429159313 290054087 449850466 642961637 999889183 123798559 369362811 579558570 978589650 783480674 617368673 206780148 820753035 522338035 932593883 811919466 810816807 362646827 383516474 872324789 509760664 357318114 756733352 634971176 612458610 545612478 708821334 131349635 356299570 352088994 729757400 866492712 436336653 109537131 395000647 136291129 890651012 671803252 859003649 595275365 316121306 965459599 304012458 375691885 468488969 727186416 844161185 460709707 291301579 518929362 683809832 851648290 322552273 422568598 510904910 953187331 880354536 671725163 234598363 591205283 142666933 938199252 900156112 427324013 626454980 431326985 264632658 394026752 811775023 473916504 645543222 331520577 650479016 584103275 451399129 854157088 757944628 583629078 472172220 226042048 361244383 662270212 523348897 623322771 809529102 817788372 483108088 990798334 174319190 167751619 839890312 276718521 499708929 878350462 334079355 357876708 974702979 361662964 593345757 162056835 289255488 602302524 197055991 711750889 866636914 152146496 676555870 287809945 911532095 326723805 362913051 849999099 403717735 853736336 162522202 949752010 278358190 474717802 310573262 411178740 729352017 682622989 688063947 527248600 528942343 361206413 895163770 493036745 421996042 186409547 605632924 615018850 388572083 422765818 798082632 404755174 376951585 317297205 230319858 630036248 265341732 808855133 989132582 282923761 472566484 331567470 274834122 988708585 947998576 462578618 980570136 857478822 566129028 621821533 419493908 208374947 149211866 210956157 623477466 792062233 444197218 326860690 608285474 899920739 799607553 917978870 991857246 632567852 307377122 370335934 139660312 476876883 291784096 365092248 838230134 349215101 581118151 367192151 637116090 259548519 556112764 149092530 592124352 800911814 701318503 266411371 750432411 536470653 978007441 274566414 462152709 443677570 496775895 630819696 505181230 215914447 757717581 615689648 245140630 405976356 408591840 855368482 156011368 549423588 437653907 594722624 849442614 674638948 889144299 257872278 356421192 906025491 464451903 499635704 621716646 465931358 689016177 698124677 701422997 687127641 719967538 623081942 655177304 969785194 415050728 452940327 203307357 787387278 908867022 747627142 914507968 194451012 664622359 729454992 648370105 222487182 524739773 171976357 988037037 252949484 361402049 480817779 318349702 823346861 867370330 319229603 641184971 860666111 526000798 734693103 520984380 465096587 765672319 284998048 132939879 458899223 528203180 626302587 418586189 244937973 760546623 181915846 673952276 424045867 193932333 897299943 133776771 576824502 111849146 639903410 551952029 736346875 156873648 156737990 564342823 123742414 325927086 900165831 805555337 410261239 641317707 857212168 632575643 983618915 769255769 596408146 162726044 630277146 124640882 126929473 503231456 842183058 485691024 267708901 463319460 278727368 314653517 714318874 313429011 795232694 521030485 314163881 494837550 193557960 346220591 894240304 144314687 957661952 812455159 770609065 556572048 547777593 937112748 545921572 945936475 773902140 962745871 728517829 303618529 410791110 298961952 983346233 921727255 434454735 539469588 141990139 736868322 941712844 923542810 730568066 813676392 486858087 515898890 730408315 848520752 503425239 420427780 228245432 219459054 221606541 945766062 346052048 938446599 238194019 509237832 984262775 568751341 404785599 403408432 732033486 774092320 146731673 650269120 134485015 202621589 734388992 844176628 621502452 641175635 396350291 797268003 312040740 811243484 744131888 336721124 156132532 137182832 177309706 589229890 361254710 114531904 320413516 126102547 216700302 244027265 255410966 198599158 652818251 676525502 658466737 850103784 102283024 641417525 653137863 814385313 672194903 488892908 561907147 413432631 598658697 627641458 343495869 993496513 893182264 616863748 786860486 986151650 507135460 610239729 232898398 693685165 176152925 367953363 745617705 646282714 910571917 504181898 398842405 114040960 746565830 500188701 387396639 330035204 639428843 719800162 144628698 994364899 356884039 632006161 338962559 466167678 118022539 626087742 222873924 830049443 990399116 849726637 669560293 313918490 541521318 569338896 103088503 187125971 550410713 656549072 859069816 589422903 276198958 663437535 696031867 707332756 174576901 878594863 455880430 579427764 549266404 730791331 252536147 950823575 551965091 761307106 900363573 355029641 142749339 748023952 518110868 461176174 726234575 348652705 717760824 184329803 362162380 500136929 608592341 523672122 795575458 716558927 634866154 350596119 187989784 236789254 286670430 345698568 361069557 266982853 106311986 560299067 481028182 883952193 604583833 468504295 559179322 200864225 747055993 439657048 536825932 136562023 763723315 558287818 541397795 536824694 523372759 979189211 203390275 230595670 224182122 529941733 874605038 468827340 394119820 838761912 840575258 336115773 398048367 332924277 343105946 683717233 306533278 368142695 437421932 177973703 383484219 185012104 710025867 129623342 466662052 979132086 887419697 111944512 122987567 948625159 194879001 851192123 860034468 826143767 240769640 618191683 550945531 782673409 311888710 588237705 787977815 826342850 446006997 444840939 901254559 574853289 522044564 817546467 464916274 862317186 504647409 235598318 751606926 953450416 795703700 545544764 779729329 241208649 199838782 875339445 303890100 869626007 129060178 559530303 364108176 879889074 666997768 590459203 678224007 218043741 258252916 923842518 309130059 649674507 890496956 809846598 821031375 669194558 967096040 295677057 640591955 750844111 831888981 458996463 894028894 890560448 325966966 902074256 103330522 513793129 982274531 588871190 869570982 733582413 812891077 778576961 137682879 935446543 477617790 192242720 697754010 955032768 733556100 505904489 989952058 986400509 119648891 296729491 604040361 590323375 158189914 801546073 497968168 263813249 614037124 618568127 672672712 192062277 241214312 337400623 602372512 448298345 751276007 368524173 660033307 535089623 762010299 280676432 208613952 230225583 837579135 449447254 695452163 582609780 476945788 792392767 384167058 886944491 185858755 534795723 468629389 521728741 243033481 110221853 185182999 190508606 393213230 934308606 883351855 714166503 877579485 819090743 465162914 653648522 150995153 796747686 543297171 967654395 397845155 401025142 614498290 951165094 451126355 591154815 424845951 593236262 101098222 938040567 704147331 677517581 685874112 926297046 840147573 542814998 600935130 755876879 928634386 607070307 843868778 538997661 815667944 665231649 641414012 317161627 380708403 769103250 662868309 428977820 430175040 112116185 894420818 301676444 433720232 920871791 720949192 882352707 379077424 531269931 724622794 603611585 667275302 320683545 472516666 337069107 462728938 157796405 774250752 494352874 845459887 937681100 205708959 206860491 140701127 958559481 668519374 871124477 150712791 995492267 453954538 601137513 152113796 137431112 332454905 789677244 693010845 159395266 547164586 624716598 355471047 714401404 560050732 563739403 678611266 245808007 207788701 884811178 259798318 325138118 544650180 119758204 876848075 153135061 546283330 237336615 690688784 278960925 777772611 437920640 841684379 658700234 418814262 460218958 864003326 891371331 761713649 650427696 927963871 154165128 237619556 395950920 226711671 473616837 386151813 442559998 503243796 184487481 302513673 247676529 387740713 541128950 353672459 447989540 143534490 994417456 367543331 288324661 760234632 437031283 827603979 928741979 111305913 958754164 607267859 553931010 309575469 664456011 590684842 441380516 938643906 394125334 978955151 926134632 437986319 659464410 689802948 430414006 138066310 292457697 496884376 491611273 283964080 666245873 542937596 819056850 242681506 315464749 739439246 252263519 972091864 314759591 507606035 741796636 337235140 262401382 372509557 978757400 169579041 143941860 853240483 231259109 666824492 279306256 477554469 482428049 318872723 946339115 628588869 915272251 111668707 339656202 313721766 667676767 951213838 641201218 879385135 376675427 989855560 727701034 957531047 198616821 459344490 808635347 944235318 399955137 712075947 786223355 997286649 815724248 665162266 435768924 937845159 284794535 349218609 628969755 785617010 810117595 168038004 717138497 272698150 242077360 110370663 318611948 862285316 910771588 948651843 406794573 750917765 547705527 453037328 203639437 369274447 329097022 995135790 234924145 930826365 869144262 774179765 348225751 964898735 252845843 359927687 803103576 124748667 637621489 857486958 195011391 175478921 238279190 757439479 913944900 619851835 596397744 623856542 677469209 650444437 179216463 913400709 581178212 367579423 917914247 220211398 507046650 831703808 434045450 892325460 851817843 206505830 416949698 475829154 627268625 751251043 175947176 590855828 551475965 952424217 105075735 407376631 854657967 243555660 977806811 194891652 615370299 335620064 363519295 618503913 321443110 172188154 892535356 258933683 142479172 707974874 393939350 223338462 324085566 110831135 877503242 692507503 141824844 740086409 605020656 676432557 806869248 128050774 527541237 273015137 525437324 915979275 329925709 769159884 801361229 930405517 918113534 113895134 244222359 458312720 562399025 152750158 683827019 256228046 438565943 587756102 644846468 529787000 422865623 842321633 929534498 305302589 958696158 424956819 696789945 791604622 597273367 361107030 128873356 296324651 206990734 952994160 831304061 582817789 443497879 541194448 311129302 753765459 386100980 823483186 407619461 311754820 848948081 270623883 524316722 469054936 489109026 332057793 168499223 800272531 103412728 715836741 655159625 207437167 738093420 742942323 476224137 343787321 374050555 747069769 717853381 481451202 756073465 153945209 822547088 316663475 277353660 826236404 933447827 596417551 585400220 769334286 612067145 895428447 537641766 503116454 827559045 361164149 274088234 112415138 436976442 380790062 366729784 210795926 155485317 273756979 765242959 138482216 719389362 260557617 626706711 785920152 170834373 492667586 382406208 882098152 880372885 482330889 537234716 112311395 239381916 679558533 197603742 285896867 736047592 195346773 845790463 389631482 927465301 497653435 806538618 510740074 976048009 151536844 786856984 735079292 904882940 353075167 388529568 916263760 779667325 970031019 712854948 923911159 851047100 746019928 930737707 310962671 149789317 913940031 972100518 640164644 162098146 606851756 883999203 509929314 934681238 141245229 895844542 196455332 609966891 444781950 966006050 318467843 365467174 468912407 686279458 277206506 892434358 212458034 246955464 759174519 287797060 581933977 967674433 622460899 696304900 604088713 255120250 798256879 751208680 127474639 648799878 201231141 587229036 890501528 903002584 178268481 832519154 882154504 103479765 570681049 138154478 163715198 412367329 211784189 413428586 845687204 653377825 190773564 308883268 380061690 211297249 173128948 369943067 102797124 543610217 892057920 782488466 143507270 291405212 357765968 782110274 261455575 705660982 451106274 947651765 333709996 792487348 737916365 269192567 678892729 694551433 252919927 707361526 251340751 238961276 677027245 995500837 152557546 681731112 911992707 333434136 561754992 610012367 858458077 836922139 429690172 192964313 680575635 715622021 330365014 971677161 305740834 209516190 973198427 994212158 415303241 451459298 226860010 683010607 579109648 376757708 132343260 787420836 568832082 167925788 985587453 461971521 979258001 795712256 682767235 398358958 708074495 713293133 206464715 157199300 743844946 546462807 597612256 978225006 716139986 783014490 770250123 571136954 851685020 327562071 108956906 615296090 409757237 250373005 956759563 712716217 755821187 495875317 132132379 183543304 602679413 266377282 992984076 407306662 717553675 412632196 215778500 693784847 302554952 314789223 772022510 711831629 610042235 679989080 744133643 484826737 751252557 801521194 494920753 936907746 788567804 204229620 509519653 668954654 244205190 704522133 357081385 847871847 405687658 490762134 626415923 614116814 282997742 181718509 946306469 536414574 156348369 529450513 326362291 921185116 152770827 218462116 475761346 242948034 449796962 122355687 187431227 846604985 188559256 170586382 973987408 336819439 385190539 936162848 471014434 787034947 905460132 772611276 990819826 655509546 870860443 597567508 232528885 707085874 573248760 954645656 535589527 294003965 930704124 965802117 460712320 676053049 883672763 224440088 358837948 862520259 254338307 984375092 227361755 622124629 763378373 433324865 164354338 789040420 926798894 721389847 916379056 879620802 959687864 894076175 627141176 501553798 148201581 783793541 727351778 982160997 378825546 112937666 857665147 185809788 412198925 965699103 479661241 251954866 407518449 208746159 627113222 618938006 108603327 551907595 205267837 136058675 891179483 882269311 160262227 382522488 909727371 448641769 275193337 440097591 518205522 475797862 268785524 399024771 836877601 527793168 131217292 622505897 535326841 772759389 329059880 470882940 387410206 386961941 315390094 171723458 268998399 489140479 736054411 408920337 255593092 953754777 944586621 536865693 635362779 785572320 303992444 163616403 408377660 841779710 505925998 170250349 714145812 821176859 297895105 121990729 759085443 170026238 483483308 500402107 412530706 527297160 579739878 700197075 744759412 386020265 229393210 955657479 555966748 488836897 426510760 457903295 130757008 163831212 835093106 606392888 767181078 707879281 787439370 493746631 985410175 303747241 128848233 888459928 518754203 809436930 957296050 713160219 786312901 488627959 808686405 334564281 337072024 394880853 502063228 361266236 723525475 353840993 347854265 483260730 359315753 903448418 113168483 274867996 751961388 893118385 590131469 410619476 229966344 926814428 483771216 993764367 866033298 683882651 206816375 935019680 108991323 142551921 329277502 403593418 579845986 936769404 251027476 134034284 562389769 601860522 636837166 232675524 744880699 881047168 268835198 735551484 565477120 982179578 662965778 118832689 528261334 579016472 509203025 721980204 119254586 981018092 704057374 731092301 566047567 403641999 532442201 228380509 138186377 559850535 252551228 861004885 916303127 415471439 559830354 435338232 271999896 805492845 433062064 409670961 426778340 438314744 245324336 698266090 436077938 171886547 694339440 188981865 903749210 703287525 280940811 858940229 593132486 953260525 424201296 164427042 400260815 336731293 349962985 494528040 559448228 877909610 588210794 718814091 790059564 408687045 408203056 472746683 230414844 797020666 388245368 324187427 459179801 334180521 104868410 535889076 777556653 597920111 948705815 722080799 800829252 453866026 572762461 390842834 424821072 253780178 883076698 427053734 107777838 302632441 388155077 406926975 800148965 237355997 786292028 153441867 617924487 849879971 426168476 188267278 258974694 600498960 714004027 563127628 108150558 747390033 453477742 682889980 966562270 307360043 266445229 543922386 223355475 550589298 736599302 963112421 542115527 639452210 777362829 923876416 651552676 228505947 222914520 855810530 674920166 181918442 772311926 407601992 693095074 726461917 909609618 533725211 625825780 738644561 760454569 707695138 627042554 365677716 577505120 798348848 939351767 618459278 814191629 762058372 254961309 394188122 736155867 485102730 149323722 276170199 604149332 230556993 159125806 460946344 507792944 616464323 829114491 854830322 649883801 488554195 443713515 330923655 771629756 338493341 429162238 237143727 699668184 347466385 312541229 442928940 323867335 459570753 903992525 417059378 365877147 749820126 295525103 751306588 913103569 615764404 382253040 313823346 486039820 644901831 628411692 343431907 520753816 503345618 320779967 834865331 377917007 107220109 943804880 148971533 940229696 646075392 820155390 383468315 543825526 985220968 965548260 181397825 794136832 798060354 468918349 456334362 823409647 626983604 216860413 794253021 962389099 659180939 314601894 363050078 998309213 704928993 392496453 252041072 486921121 258946940 315274390 605198995 642210105 521802712 240013862 454849907 295395533 150437255 957900400 254866985 144218814 342051288 991320408 362880002 698496636 483420400 791940251 867578064 863591397 648894889 249203815 316942316 975542748 646029262 275339904 742297190 857853134 889478854 367588445 667520038 878417211 971860633 597884760 691023754 817203065 896683710 879641625 798651914 876392443 992256463 490459963 638022769 577586374 120029840 389445444 472771485 736590611 340398012 685163443 787866026 971616544 940216759 708942511 755341755 451664665 986476337 553996349 607655052 301597550 917353067 789199066 401283167 862347083 919100913 681261611 723350324 926679289 776688121 818354781 967992342 852601496 915833214 640832951 507021970 179240618 447553079 776489524 159580961 416975657 100209250 391916194 349132623 917082974 663097659 887102988 694450990 538831813 722546546 287772030 432113856 647906945 490088204 403907812 377196610 361854463 628404365 958272687 397956178 452813036 431609772 554080664 257088924 646737298 616115825 543053115 582591786 484834453 973407522 158120459 646545559 266311488 515207712 211071420 552329900 291319940 888148096 367362607 327906465 662083717 905078779 759040504 717546178 285031940 383783824 631432870 728108685 544816650 960841098 909087870 206612976 830997352 193246071 612207799 727986317 318405254 396714829 109506791 876696984 937499992 907529796 378498031 522165109 604200063 197488655 421171273 595663297 926416107 605625787 664515955 387093081 925670815 215825503 966258748 368957946 389556149 857750210 528954430 640026852 870528700 154087472 583126044 836745603 230175131 132120599 162005359 158780322 873046806 600727230 649655300 499449589 744363678 224312436 383856372 474326440 805878417 406393211 265689626 495668878 348094192 133265032 847968025 515397858 617079215 592880207 119467539 616508996 636499158 885118217 527196011 756435324 386185493 798524647 698352798 150331659 791104694 318955200 712337948 190469979 926092087 540034248 746215499 123908445 739493694 129353204 626627332 990077326 616216705 766155935 737998055 900278881 470301713 423909059 502609605 574535735 103420624 607033195 543776069 714201340 148785356 123082069 674168047 628230984 547953495 903297167 351145344 630855732 258220498 573851344 642833776 529815344 997910110 114857598 196390701 894091978 120633649 217017610 396726267 700265093 872077303 648825207 565802599 112276621 161282383 368755575 534934133 321458258 894746538 886849636 321780703 701435164 323647603 303596938 493757729 538620720 236103746 674789194 956300788 838148408 652024608 888603607 634800979 521425186 655552392 647363714 557406093 802220848 430002631 792620085 925747462 520397965 676400576 389909938 393454720 667859318 273368392 794097972 903267943 545324526 279219931 717057553 650131206 375330996 673555172 634643717 876390994 287560069 379913778 209049199 939048404 991395226 956002427 134793650 300494435 210281040 590227329 253924794 730002164 749812327 435597033 171073903 814796601 276255894 246930086 915491275 334190959 141065227 383538858 709515853 607586437 382016523 635653483 201232507 630796693 766657588 204523882 758729495 495736670 100726702 586751040 512052384 696391297 634490007 262226603 893890922 157846552 197524216 144671930 231050966 815238100 991595347 508859263 848296377 979297265 983533686 854243674 653285492 234591251 438260322 463922670 719409591 736045014 830530338 991566609 946290034 493505955 806295660 162525655 251497307 130390448 839571507 208106831 749962345 739517825 426354704 402464085 921155317 943810248 585980366 973249877 821792898 430082829 422594137 105253337 339017370 867583708 999441092 318150730 480989600 617955722 338620112 921531216 465709258 107123182 884213636 948067298 940617841 324620056 215537669 300530670 604187596 485584307 756412171 136482625 446884979 738044281 141172289 992676948 278016079 213527036 153322813 266945569 819149768 529815180 399911596 929867313 843878032 288231540 584870125 708116627 467989380 731287194 773867593 311400573 565775282 954937257 117265406 541838791 682759559 517113885 246562287 794648601 158302646 111417158 393593124 517920944 612621631 156290544 300592297 774921102 803761685 492828616 716248058 466965250 833297609 118510152 582140866 719989742 877999612 457743696 318765349 942037678 126082673 757269176 540038717 225171430 218675855 764727743 279918745 309556845 989016968 386628821 709963981 486832961 791997689 978444176 647541475 220219947 359827593 516827873 198401015 814551899 888629305 774650440 828453239 486654568 811198468 248553731 557007134 510263208 732600588 882137845 134024571 309451428 873973283 774445131 459844026 388783750 665596112 491544264 108247411 948673865 949674960 739306928 161347591 906781282 626028981 276502833 520631721 935803160 485268323 214345522 729972518 127850431 212920752 970807068 353674510 342099185 570877977 613376005 859822648 564107967 547379972 839135085 480993670 185858632 288819978 430037864 969619978 900181218 792185897 686870091 842987631 484213841 152051303 671919764 474978020 870448141 597324977 101947045 862733169 980102886 566775049 471411316 444856914 905118919 980933344 874656678 969522934 894245237 490112031 506632242 467002627 133116543 974888944 461648714 644815842 263720771 729643012 453255024 461487679 945656840 604892791 345125631 493125057 601216966 734066581 585445853 922210749 831038528 852213971 251413068 242102409 575501647 948430621 731758537 525078563 947269355 514332573 404335523 804844996 606242868 347216968 935416259 735476833 598093894 365257769 925831359 855844819 993846931 257851143 603626552 997468614 925590616 665506983 562113230 991669042 375103057 862304337 880992510 656409503 817056314 101344321 528458231 656285596 330311006 809983901 488227934 383467604 311804246 778772073 427493837 467618985 572746764 253173891 568649836 376800880 943622191 758108666 870995263 431331945 692807165 988943041 792895697 199315436 496684918 775182029 919504139 247550165 831280557 782449680 494230370 907300619 552275635 498540213 280343033 160371568 676969729 526423173 877534504 119826479 864852794 884200360 934699103 591178367 412937541 131954283 691383481 409387743 980073218 807993280 396522276 853364944 912936239 353368047 595372994 116884428 519833846 208253492 575857253 988574573 223558860 366426939 301031247 708053741 246117299 196170767 164757604 510468064 677388712 929702799 255127898 128223813 841523512 666114353 678167020 490026217 857559754 520070395 960496751 506629798 941058505 330939109 758998283 206248515 729266758 636959600 134903091 856748062 363199999 569893602 508089890 317251138 446462084 672454789 115094302 672259869 259363442 760437321 562920150 727632694 854160212 369042859 129117811 897352254 947164439 686691849 521481135 977064905 754386385 575994047 259447901 794873596 759321617 476805386 378362881 582361172 390505135 986740973 132071699 736572394 578001899 377978782 698943724 209931334 295411911 354200433 443184753 163651402 537550122 522436065 163779232 117288677 812957120 120327878 386287198 359985373 283213028 134973312 465603361 282879518 852502339 322346369 398919190 857350596 725029691 746736310 671475335 159869557 662571710 943670965 847357950 914932196 951989902 664935630 480456409 531548996 681795887 512348698 122295482 586975767 107327117 650429139 615893981 307543387 898977800 357297605 388411012 528314566 858172369 583902533 926035345 389268227 165506413 439392751 353713882 773239335 492687700 970200231 795117230 521305730 591598351 463897170 178740484 434420363 361173145 603422918 977613037 624245876 867914656 993663370 428765646 842267926 828401966 197453949 308083561 549298970 526656257 341541130 337428032 643378519 202193110 524911655 586370211 549351438 848483890 843287268 722314161 860754763 518096591 146027048 912132357 715457122 559435352 570906265 336248624 280556237 256246234 979084389 409178406 287331348 960340029 490605182 685972261 386253984 868244401 750708910 341510286 364985707 564025040 148321239 108989413 770066376 157093118 257158931 363110324 825309137 233290441 614868652 679701979 706494392 118349164 392382486 917330400 413550458 358715305 934514758 720163863 374495867 482540541 447252736 400326502 777453274 117797324 571791965 196334159 765667149 406358331 534971452 749864514 164973323 681453179 983356085 188914154 587257769 162322537 821387523 507966727 135654438 403147043 327505574 786517830 195008899 892963845 158335467 472228001 713304759 988272264 490068510 729320089 907503018 871511029 966543796 584675332 130820226 953763123 567666199 711396942 699984721 247668552 532890576 545835329 662178454 358418112 384959895 454032884 728569260 327130806 918156948 744060042 432506367 517509065 863449507 415892328 350491889 298951252 681143298 515504926 347919512 288670181 413603331 584250062 642621785 752900330 804407711 312609914 783952088 793571628 506392134 513060944 430291071 374564283 991159387 974667669 237323138 888151804 548611877 947801930 118614471 100607869 719669685 277082768 261207017 358366284 252194323 395977202 303580303 931991086 954480882 795367446 190853908 796911512 136738029 494021409 235529380 895072760 895160435 577377602 191972629 712313445 554955203 821272837 932560290 216471396 191206776 728812726 188045014 487067695 425588739 235157832 969182378 761703833 483696150 727293198 190021761 511674332 844566637 495268032 134246738 990330202 717446684 917234312 203973623 447462922 189261067 230535909 161821179 145096452 156326551 190837136 256770497 248127462 965473961 967089538 572754429 737097483 269642372 723993606 181335879 384658100 397888110 380885934 679819594 339669322 607286983 323201908 870859472 637715185 208446047 132561299 542430016 654756942 340267759 229980033 190002106 716549070 126843546 541108763 199880025 426438019 427365664 960706776 227815987 759881063 199676838 285299114 547647376 581971889 175052651 707620457 906958361 327915878 883517794 190479836 654965220 460260664 156998709 691303151 862737473 772632016 235429413 754212557 540151512 175761401 921469771 136767876 191066517 739002680 589172882 468511144 822860261 518203289 662331571 988445041 247797840 736576988 225236400 676593553 145305207 624980222 652391194 519408596 394206622 804980891 185806750 870280508 253757149 606890800 443839934 755242949 148786768 455451528 934173419 851781217 316763619 615526274 107231584 790255493 872547823 187859342 171757607 126319659 487415466 752006245 661986555 434432573 437892998 583705277 639797208 170719643 273943286 797674909 382298997 186973714 650951141 735189780 359912582 438166921 327647154 940845201 522197676 934790179 193366563 717175705 154157820 191993489 432967444 315682516 187829062 670477146 932041544 781169604 493400236 746123299 922927974 595139404 144428368 214749813 283737124 286530032 579753173 192581392 329717516 317258255 571353159 689105020 672711681 995377454 198985489 472804022 934628827 303520178 945378967 159753392 460272053 904672795 188744033 711978143 560448821 722300715 352667507 381529245 865831546 908412667 444041076 333845119 542745122 395491647 678307588 686839095 818416174 856905915 900084114 300155304 237647707 366569497 958813254 313853295 684733930 856146457 438659238 901448016 332661353 354114607 957503625 822078127 205903628 452392744 820970569 587911721 133356154 226105520 384724597 713251370 655342262 528445623 412596167 354555843 686113544 125183165 263592071 741277049 642840148 691182802 550559168 906401480 755840347 798106870 449509370 287678144 461576781 691867775 933875933 767046975 903137153 562529054 339806154 636260667 332676193 882574539 434398845 848106950 520787709 401362576 330753029 298753211 789421168 926939136 854205694 817888731 608458858 280915145 449614131 740939756 229314384 737502523 483114579 727316375 547334453 257829145 831380143 627677614 708347571 719228396 969235409 260237438 658300706 386216098 588156640 344150125 738473383 432393487 421301987 534347047 795368431 725235896 745324300 752035114 590326448 432878107 117345689 441896614 504014854 489576610 669338057 303812806 757460342 886654282 471073298 627006596 459232864 599969343 150722797 201380587 216244557 795642167 598213373 590275172 197290131 792549484 885351906 845515347 345619573 980157834 672554069 265273791 547999755 956210221 436970869 946471576 672862442 657445925 713354647 176073417 330506410 136556788 577188720 329812839 102616697 247956911 901397205 458053922 214706352 912038831 725801539 105342506 600875465 739567887 222865646 576420697 702664871 717821800 330964345 429213100 751437165 181318903 140175139 290410928 644746992 855726588 535913593 837683066 371470384 306218653 779599900 601265874 147702535 817848900 932543116 699045128 297372566 857867447 438474858 535682282 354418784 780417016 147610543 485025498 337597067 751428676 265620237 139727118 904234491 815602894 499638030 566148333 924744145 777668228 886410412 486503001 250174653 303834506 678187358 175347129 195533697 750246374 179649384 253044449 732482763 134236620 310816034 503308428 698635212 928798477 316024319 914077979 995303121 189366172 446286611 411393243 347128958 835033137 502484650 832032297 880968481 486644373 583757465 966054796 185028233 703877669 847101010 813440129 641594487 970428373 493848751 749753847 613452539 771198159 637344834 394550154 375028174 490316269 858612087 407921047 492179445 372797414 107814966 834666886 230477720 640501035 241096172 979934037 999871161 217768492 576679022 961495739 929131525 557883161 685115931 754908285 787354508 874188028 234643056 523416763 100580531 744894708 768692671 900862420 595882838 826208138 101295683 555312997 781921024 728595544 982402346 244443920 787256566 881762654 468794340 774893439 260104284 565000389 507197347 662818343 742228460 712355475 885346493 790945627 290559403 160018053 567200764 180554449 971315855 793255647 565680570 461047777 465622085 281736140 690197474 369916773 605292436 597326944 302635912 432016855 817702197 210286228 717195104 790359320 796706453 658533235 898499055 570508575 133566676 323295229 386845179 189270923 333878780 561379279 180743237 573131726 564132422 672387392 556200880 396357303 939283875 545119208 661786357 672876629 373239621 820502624 989836982 178278460 926757021 147405436 867566841 657963069 575020062 744397657 249715246 645116417 650971105 820689156 666257795 187234068 221416265 546750371 565492877 402833162 549660207 885525719 454670651 364143104 801953700 249392801 152204661 650903181 874436848 811833559 892979267 599005420 376511855 710935185 529736195 642189283 563751539 980060453 735955377 589463427 868094412 666950020 606479611 771028220 273523421 321603048 488874628 265558987 205222805 713292133 519850028 911466876 650965258 993232622 673414436 746317431 483592782 108016214 577879542 151867815 927496661 212835657 418738815 844996413 186640555 522382830 582966777 805860923 554197403 574978801 420795198 293156395 346302961 306122528 870741092 260454278 106148719 831731975 404778681 822572852 531667137 537937134 867196281 190559912 933748012 364603836 993852941 734625142 204099878 485642426 423418958 122447554 184734462 625058302 419555665 776955409 406126846 829034027 977186574 966375042 227472130 880080120 699640611 714547467 520219223 477767396 518236059 558844976 954105207 621308790 194346804 178210648 614835166 159311117 304100374 303559946 355350232 447442398 208156893 719781625 534730737 830652599 993221081 297324051 478391234 884412087 763459192 856679782 492467702 329049624 417574461 669919936 322834235 814623769 478374208 475041405 558100028 668732614 124888777 637683180 662602933 648246039 851576072 616375425 653457587 594499896 344188496 327865424 240245975 385355854 961477131 954051665 621375694 370339665 540044116 399675210 300803550 141477490 356972562 462631626 427386935 528968614 703305468 329280242 423924354 277295532 875230331 410635735 168530381 929299450 513727303 365300082 372057115 723351513 996818208 419669328 281674220 639840579 398704385 729339258 669261070 399140192 419053354 605629600 866241120 137179689 820171063 330205806 908588880 390904896 850798907 323605897 347957755 261737981 769136553 101943605 241512277 138046543 491596291 859990649 200419169 915040996 926156385 787504587 395293321 851735204 229424311 378664591 555628585 682855821 657992669 156002665 493104951 654321104 785902713 241312418 160781188 128583213 324111696 921173591 819771863 424451655 264787131 321052623 853063571 452090694 473165382 617206912 381747139 605469421 887073481 574505626 992693244 658303108 640256502 160038841 336369276 336008341 491155780 162212927 418604134 190978778 312869018 133128592 575470037 246844401 168823794 290219098 470832641 454876838 718947394 564678001 736897887 973102548 204132396 275072975 209284944 213619002 905465333 286480062 150237844 608222374 219633447 791640614 756817316 406609633 754400375 354398599 743020768 471947079 136404330 655809706 756596849 599050051 126764307 941011706 737109213 421016419 414736140 790785853 437448949 952557637 444907220 234489167 976356469 478757780 695887245 454151884 281044036 790191434 160396743 856758305 622581448 452689324 961489058 147270846 732346479 480946583 950918437 727141727 728559940 292402090 824596610 954411866 329325572 925583868 755093915 356181910 862181722 229958827 278542667 533528910 783268973 308591093 627167101 206549395 566358719 610741013 907539766 357224461 189196332 247167662 552929656 891455987 604252271 659037575 908129109 907221821 668243545 491658845 313042946 713265467 280883549 110257484 731878458 283326279 564963219 587806248 172933226 219934655 481112421 350517177 314451302 484078769 865302233 181075906 889048564 821512737 948243174 945651418 908760327 159086466 915185821 578312779 849114003 274278036 170207791 869277079 705080626 488486979 158328161 366565534 640524574 438531136 494885567 256858800 260241654 102295641 490420868 293860719 536549969 113570856 789281282 749851492 730740126 463073303 568577127 895623869 420757095 804897070 348563477 970298102 431344473 730067380 570527860 111760882 901008653 148168029 744082873 997689992 486413501 309790455 836489717 988888897 110767812 907880731 385672425 721940066 721666952 533320902 148487997 225272538 204522480 342851048 790724039 124405286 318685643 668465783 938723307 315625520 432914613 146623152 731547029 114633768 308173798 645386180 685417337 789011292 702764042 138207436 100565845 345025728 362344184 788744278 354022144 556014807 568835136 859126368 993533875 540100689 205741975 378742215 297094606 731532090 158982937 744257287 996341457 517272136 206879050 911603500 864728752 294438720 137364088 128953935 640160692 493847748 277726988 170698519 420097223 723220072 139069952 857989752 614845369 149002568 331374213 159837180 976416223 356957111 235877637 217340484 819567263 533387538 518859270 878908224 357572914 701667968 889882647 438048489 736578005 224967599 695636097 491863724 225140370 201086157 355712414 850224920 224508955 853742759 828422805 477687772 194930962 181327597 255986861 413115141 702870503 253513105 470648434 170865570 479999483 873380642 203445664 945413929 678320456 204428560 760796558 832535198 373109429 609983189 768940045 275986565 766942023 634998673 652400746 678098769 907252598 275575263 512101808 553132873 968627250 518586878 324087687 690076775 144033546 875999653 852033085 110695923 574727213 461027217 134475297 758282987 340287116 418283786 441093731 169729806 120695671 833648428 556881224 959857922 676034417 111688749 554108885 858337075 255171448 894230782 658498650 759588306 108739846 666562508 457676525 655078290 694819627 464031531 151053250 506529769 815873880 636963337 345884770 921386988 321018543 396415403 216390183 521499386 796801607 907551493 427920963 391662463 889247424 223554964 653975169 297376399 860269031 429350393 747979218 135475247 877414801 908473757 623191747 258506403 956019386 302597161 677726160 515235876 181112892 920772151 485786918 618047288 796637551 855652939 740398137 964830795 338699896 131433693 310545383 952110492 817363161 715736807 299711447 355414359 471731502 789719528 329377121 585444049 261335217 631046371 843332970 839635374 269342225 563553595 847486085 106109444 410567096 382867186 394818964 552077071 363316095 905203647 733126562 826184788 277977916 915835282 194516457 996125108 754689014 386153631 327930660 920263350 586592987 525859028 359518119 462269560 732719276 772588989 229823669 653298389 436590079 989272974 593611194 560150721 743659868 843926203 223060855 738104190 424133325 116667368 947228790 760041393 338102764 928562666 837725613 111600340 412853311 321954912 526450895 662174810 397821363 309632706 248523536 492196246 201602536 692595641 423700044 403927897 264114810 726088431 696315424 643080757 810356217 235141308 392872889 851142440 595100813 329311851 735234830 526644385 924478923 218828510 923090395 527884683 969376878 720172666 119910014 863164420 627469456 434065918 535986635 415324027 894542061 456530188 773564541 442216696 267430849 983916411 527024702 744561348 220976157 318541991 616636791 101900553 982074145 407943645 207203130 412994759 241999937 168319309 311873072 299759300 918263149 968490670 967165900 767694055 300594788 599356367 363539184 468539780 254707632 445777975 575466620 730172507 772260062 580974333 783089610 227225171 295488309 508974293 204759956 746837293 413119864 388801109 645176852 310061938 149300960 706972512 428682626 851994991 447486044 906900572 611227819 829159019 540725032 793363874 588212531 747231209 583262881 294097010 588239622 196472336 990535745 592822062 670196321 894277765 169035147 868610069 516123388 963392076 653250722 324161170 341213987 242706927 736735282 434722269 134115746 204526895 559300400 591585680 614106748 147813662 496357733 109647058 943780292 515537093 542746915 886238837 631623188 573580937 905560179 117534623 825675926 607474452 810858470 972083896 265788451 508016607 377543187 791307597 229037360 306539903 340194552 507817667 821182114 838471956 271748015 644857941 280786781 858716195 978161608 236057112 736676893 941062590 502379965 257222356 689452102 619015180 966425583 201591280 808925869 575893583 428146902 910310923 467347089 802366753 792627302 821076472 946566895 369805675 149004179 596947560 679573301 949300445 451486062 580660777 181618074 775535015 790925717 809819672 131698416 929234641 488509300 700171937 937539449 242660688 779678334 815330488 819895955 975090844 354644337 344650917 121200214 535153656 939951474 750016348 971502663 297383052 823280308 437422385 670944639 377066031 849590618 211048037 564621676 490705304 548058107 595242403 575047629 212204186 114701670 296231548 186880189 729436769 495852347 321307202 511126729 884162242 312052154 266651375 273444534 395989001 662698808 327295213 447866376 762615810 725377884 394261201 583774659 916427156 308754893 957877477 743330761 365046263 680556721 953292655 574874569 484495911 718021093 554797594 148781067 870448364 611318233 923967392 709763132 312206783 233604833 298223617 480756415 692996817 961975378 131760220 651411941 559068502 448087588 364429265 623183165 987033597 499136134 575850279 992940901 456938094 457691959 608835137 728551813 367453336 271876613 210862673 608920437 909440271 835848623 646894400 724250661 690636858 578715328 390880200 624868970 771065478 537337029 668397583 298721208 643623249 994166407 878931280 113999134 184212589 481788651 442322667 786676603 240783182 313783334 150060991 970961524 328267026 356874732 707104800 768703778 800919480 127985993 994500546 516629063 538222707 261395101 282440373 678501360 488332748 454489387 192678701 964166690 401616777 752074648 536004245 690866307 521878428 103616780 563708175 564152268 344267667 245737715 832842037 858911842 660987668 215887540 448730602 509337726 226782172 886078065 618480816 224361015 583093178 794255914 569579484 627241370 745367252 540967066 492147237 828211561 450496718 264731588 196880809 402745208 222436100 172423916 205435046 323728283 936972673 345296769 278619947 232299652 688930706 480957641 372202688 899986284 890112184 862808539 988852071 997131754 265006020 740802491 957794714 972400456 274843535 407040927 275358657 352420645 910630123 576449315 255399912 789850404 419821636 128227855 434772119 577628716 228729669 445663852 348439380 462309325 186664239 762632947 988068052 174859322 353708105 678102730 198086517 717498600 290983786 979310582 159135734 227478787 122282943 935057266 422669928 973576640 515350750 167086937 779691786 461637581 860572675 264781178 576240952 817955272 251400948 438247864 875009966 847509827 135731393 479674231 174495122 555767563 556811603 169918553 404031681 654392178 653157955 649549104 665623488 955686997 243456905 727047940 787140923 905076957 611523063 803237346 353617164 425400938 837245579 845764864 450233437 222828146 614692726 798104617 702146717 194759109 864489330 296913858 901210024 884400522 851766782 632831096 882780104 769678364 935771979 596615437 665146078 439212628 981263382 433934067 656968282 582818505 836647381 856871162 589084152 570551866 396120797 413321249 874445857 292486783 384224002 957752259 151786974 652964486 538166000 478004897 566639578 602216981 132121843 364892051 263041845 783387616 335168560 335131493 248466485 236046803 879450881 824120628 543052998 801017536 517916204 736049379 126751813 482704932 250050898 665969018 577204979 228426841 391999742 201698807 560424098 685794986 791683961 619594908 729854464 817203932 958130588 385435003 430195785 824353831 473585152 565116291 743023815 582955425 694083518 425384207 552982013 509153115 715285826 520352266 431095546 663344048 960689090 665506512 198837937 954435764 313203080 546245116 130907588 892067187 742268707 633664252 569450400 564684071 315607993 614978059 595641015 784941510 689363493 179885615 667048974 223597517 817670577 111146070 703312209 529796256 276760353 542864480 412145450 448615424 182858574 692717373 450740702 777066857 348695525 903794319 307944818 435292919 895760279 771728165 529739079 829503074 381659945 278954526 500497616 873893083 798451249 595550543 151867202 695631346 183039542 876620425 177004850 268739012 821888245 450048803 778485413 164630349 832574753 224171020 318494097 997644222 338981912 152267284 901869220 881299134 361887531 347528109 963450869 387386381 324897142 383003262 205126451 494378738 942207168 640045272 871658466 561892596 930974897 753983223 973843772 893837985 843168233 396622093 109851350 333674459 717490673 812468047 764972347 357124885 321721836 206946984 986795547 833531161 602241527 276703406 521526088 351348560 940609160 122802544 285534510 273174237 941261520 769140567 576486246 325655263 346776960 780017080 426682976 468266670 277423574 800732642 448103990 723020485 646259456 136516665 256216752 523087178 232993382 546964896 495984032 357310692 697896595 887955221 205714386 948281217 203826058 370603008 589642288 706913489 731014309 990933558 473286600 521618061 198519380 765744814 329649599 109204922 611992283 358261866 309570696 860992145 371107857 205700662 136800835 698567213 436803790 718868928 472428735 910348330 827132227 994523514 383646786 959118118 221494521 805465856 620553766 949877465 479741043 889742701 833905354 707711043 885215620 103799157 494353247 464167525 393796771 993069501 856103229 418978193 779747360 266036857 423336578 282034384 917073190 229631675 537672742 679071428 542731238 620221134 339552219 952307780 649236978 342673959 589726812 616115881 184177736 912080263 568199954 337431632 307643902 918323714 976568527 429476167 692429890 663461241 822779925 686920725 953229685 103290430 450442259 948751245 443814827 992816111 991882751 886527942 715600417 143363212 501145557 873115125 450311792 948552761 367291868 277970740 433406882 649920542 945254867 577982038 376332347 529200589 294788092 913340028 547905072 304186513 812955214 360038623 540345202 653545412 154643563 652336383 254241949 182188376 681708822 607549680 959228938 381249102 242026587 514361572 983902483 886288056 262380231 735735602 482007526 595379708 575161612 702562399 889906230 642980323 318873174 491870948 874404759 880695121 453416945 406904442 447968548 797254313 561022661 979152193 366746572 318167906 505984390 554049206 977445533 933230975 254091391 694789046 992953178 362490270 881995132 320396540 626820697 321659538 481260123 873253083 490400931 701147786 342130417 925067421 429608218 141937708 810570316 304758341 665342852 758635788 736186544 962804434 731362424 943283463 960723479 397964689 173687337 382146924 993513832 400975437 454808209 421141077 991782118 830245930 721995508 613812624 687759636 561598656 711325698 804392841 448072589 289338130 306953819 870900397 959452294 355491346 488241799 699745467 823858285 830305552 483533147 513947339 449404411 302701708 823814281 590109857 216258409 345880720 898043084 149234666 359333917 364440485 432068170 433093298 932250101 692345489 997272742 961086016 136540387 758278560 914705203 153746604 844829679 692593792 191744351 249388040 315236252 472487824 305191763 678532136 485873491 443893695 434515741 414734458 202983864 761805928 263595122 365951795 254350467 997211767 372978264 326635139 929136668 128535413 257989089 570708087 520814742 910902735 494053720 497608973 689633065 776917282 696310451 698338370 741610543 716256909 611695957 189063933 293396414 719974861 149646948 248015647 468400998 817290793 332270883 659816286 427912753 902008735 596989623 692590458 942060389 406087840 298150725 170531421 956704924 237970796 447500962 901631756 218989711 725612957 946353679 614028710 605433320 810811126 615198301 631727216 980390649 178861863 829096129 222438995 422920947 270997322 239312592 166117207 573849629 917516098 103906137 254152515 407115988 474438825 563825915 239612293 753224831 365304666 188735221 684991037 329406971 137264735 253202023 358841450 412253062 338459281 653186107 291283187 768383250 345044592 520805952 839953386 403958122 776023831 990617002 139416653 111746361 601457835 120061601 811401322 175680812 519098198 789812637 936650319 126673346 441082005 697629148 277224419 186621227 112142151 302611756 806274986 811494812 909634359 631531443 293328243 170342305 259383158 324225088 701051093 679011130 138337813 288445685 747504402 838540404 251993670 828654073 395702518 180856265 909787973 727663093 843209446 809765791 290496235 657215107 466481577 395790855 938538818 580129295 795517956 568460671 929850926 800280243 546311265 438807127 230555726 744916391 400665992 104248548 251381017 161619852 736677389 585731891 781784212 853794063 637444297 627403900 236009316 829489719 887384665 186987174 860034012 311248144 584499154 712536280 753653243 137934767 978431043 242209906 637628084 492190694 458862819 474482407 897285287 876632659 242878007 758137921 883769986 983376586 161628165 991210547 753666239 583148599 501180187 882197761 507064043 520845439 532259292 284010623 545571455 416679780 760169040 134595577 890736469 774081770 264501974 253429070 828154842 990786542 883109134 861648662 817182505 441155463 763952828 226965119 736509839 334862764 933345311 463026871 464444127 693037458 397373562 877075277 902328501 681624016 359931152 281738086 385515772 646002017 145807299 284907276 152741255 405698336 580030099 405497822 746747882 186990691 967813508 691964958 514843050 295527474 635120024 662058357 239576059 930423970 265107308 670701322 229858514 847331446 251355310 421959485 910724155 879882064 881446270 125352468 741528972 261942678 263541935 687168753 533971941 458093628 849791703 663592459 314480943 607904028 976195273 425570227 444674701 474025425 380980896 492440204 882614344 439691260 860815678 478938810 342749084 709683601 781540220 397549869 306699807 743372004 787744082 681107200 919239455 885936303 873628002 898995454 461159142 133441334 612888185 527625363 544852518 220336101 677240508 824362311 299792940 392118894 718030871 691634454 124897961 998823148 105538257 968939193 777546403 507476513 921780623 159130160 709123566 587029098 963372324 698349869 903135148 578319549 996184061 732916121 767793109 493846559 962960027 445510380 208861742 485728067 134423411 800930916 661078283 545667734 699494435 538455904 898028237 861906623 183539497 513720311 519670200 777811011 155746966 434151782 369085100 184810772 567400127 544729568 718846456 554476671 643468455 291402839 520846077 961650026 542039670 535469783 505253822 144052826 954300275 562436376 474186513 342256821 590846780 613084014 161873371 126610049 173500544 172649623 189363683 672860590 340929260 231913139 474590478 910660833 935576405 486648490 443624237 477331961 325509372 571254847 916049936 853165939 360056671 665801103 194956683 998468377 822004814 913651823 144399386 791416942 815175423 986761241 819162567 864874912 269236906 496189230 703552763 414926418 646995734 442009532 629526218 578582786 658996870 355108431 755383576 412520178 167466218 838741278 734015007 222763290 495572698 437566104 849651629 569780855 395324128 358380291 778016886 659111794 742051681 983192044 744497710 230083441 213590302 892975546 751285670 505019865 704162748 957284501 634894341 566930340 686118418 213250147 461357548 502605420 781286461 914290737 674058319 725538766 430148462 530124842 194971122 424818567 872383033 744739932 600456264 343637338 473698411 116452351 780799963 873764116 279608099 395167247 102526259 416358740 995048803 519995479 284314293 602884824 471576349 645495510 847964360 418937079 434848755 753656662 842876531 399817374 827986665 360577723 701168381 546793086 252907135 392967211 346097018 419456997 643071291 281914899 517748906 651037933 800792814 374309153 928744618 463654141 740649280 718261101 302048658 175442000 666860216 651840625 219742918 232003286 842568870 188043154 598450158 768626635 727073315 137520200 513576911 799392111 268510040 522428722 539543174 244019784 464668294 347698386 661664867 538635346 598362707 372476650 947499684 188021612 914392439 909442885 374834439 634943792 764514515 495608580 788986598 235472788 567472411 876753912 159926032 413163233 911766061 157048523 344940309 345013777 259643523 128387642 126696688 645634402 879198828 517584354 932341671 672748627 948724156 921182553 274484179 464917932 915313824 385892655 714323455 837619472 346284825 296917976 582782905 338543287 968178992 761181729 706878210 743601139 351504405 683703756 360934561 518281308 427023817 381103050 222338937 334800621 897406775 513038107 631062867 319951674 505489571 843225847 772837982 516096366 379756943 951469066 111422089 831660305 339475646 202925084 778777724 647921220 353841451 126809729 618202618 173338490 670475095 790498328 754420508 288767229 794757397 337804687 561127399 679633640 669397925 881051523 341987265 573680053 735473228 354262759 456065598 195318966 520721933 690292346 981453199 201073978 803798592 998177435 961595104 516777842 935433528 806885831 977813455 293571923 687329963 486915757 441129491 852241353 130882616 974645641 820378350 348793420 220334729 115601269 399881947 374424905 876659209 422649622 818580991 212223741 299563606 693819312 410879248 911331881 429812174 530885714 377934329 102702675 179937897 143418164 130917155 286367077 312407960 219379361 923581835 498406655 519494824 159991715 670027589 945651496 767237451 925722138 506624159 444185913 466423111 352947495 853952868 109160388 644918642 658205371 926854193 800573468 579559645 116479813 703661924 787960973 174558900 607352238 981271484 574316203 501268133 733100219 391263582 263615525 486439282 584246842 327961245 793815882 435001230 116977061 244843294 216960999 158843948 947729896 612270907 672406850 767467603 588077930 183367013 480952858 779683725 866793572 955661099 296968488 510923609 920411212 284868363 157588520 805119443 303109402 453958762 802452833 819639337 776371968 185418328 224374110 138086073 934231477 509904913 181292380 142916782 978552925 598797378 967119055 863734723 997825003 322962764 779528617 448318940 718349969 985158503 209189848 418816984 761394525 822020641 693901090 298155893 940135744 885854062 523331060 458672163 292945829 351135454 581725805 218889231 303606166 191363482 761860015 665370168 343623310 973094109 782732065 963500379 956039929 970286351 500405063 519127980 353379813 835341825 343353133 673211419 979369669 869110503 670152478 160330165 761682406 596481869 655360307 344640272 142900771 792833309 328305964 585426899 926568494 192764986 358447343 726398759 186321131 520237545 626697759 550814239 459623547 601219532 628870672 192634989 909824717 590498889 630211519 312567217 487505754 975808769 449273138 388380564 694046268 225108529 878982380 830287713 735666707 855950274 897244209 444702683 339196069 464526752 494926208 248620669 447603339 689890771 819870991 610006636 530466752 788789026 847153389 153445920 772365674 463175741 817371821 931910077 181771744 789935086 473910288 848252661 861351174 302104232 964528617 530330466 892705922 162827542 749912953 767584776 139906681 231561724 713335639 831309122 790014808 332108705 671757925 523884672 606513029 347460300 418411027 859673409 193269174 713405067 447043882 796791951 510324584 435883762 253591634 790383673 495912322 326356601 602826813 377847236 844192305 556572207 754401817 579719417 634704487 280565146 261236813 446107418 709999972 350994476 287113310 218900406 789452770 197826939 430076326 343708642 455636569 737077931 268672023 283292948 173008627 300839143 481418857 596560148 926162062 293184831 884606315 898364122 501648066 975758889 642865327 799005110 235201126 865363717 981188332 660288062 709136658 782142829 936394112 362265137 843436410 713507506 343716820 221620052 616537487 867147097 291794973 519693203 655871795 796697626 824373036 300323275 994043846 492217377 292176112 194753661 204578998 255029110 570245088 223821381 465200241 284381834 820276078 219926715 298607018 347231569 204190918 133455603 242453690 916269136 965923795 466013939 954408789 691541958 731910886 142269141 972084187 461744377 466732271 292118993 719387059 877862796 402065228 677133495 892006069 424296212 194419825 229238627 682663617 553860908 138827998 233563492 405402822 245310084 418089227 631099741 456847768 906875600 246116647 954608596 145015296 701505484 988202525 391028205 993896474 456535457 225651216 124660087 357689315 572505014 181266966 381946377 524090939 336059860 814717910 226869889 274762995 182807915 428245945 561201698 269710458 407491042 565509753 611926070 417725779 553615033 399750391 445416844 334970910 266523274 229502237 570451663 286033944 227745346 568379758 379964826 750596284 108441617 159928647 406893655 403624142 486513027 911774489 624560210 875272208 963963028 470998849 426573376 165350260 357482987 505564951 756783967 170699952 230050203 362941708 499817090 939161313 158141007 386134269 565332814 394118469 306669666 541531816 784535990 147913979 991971715 163946472 735115312 730295533 294932251 967214572 832248501 466856048 362560213 513631856 690370739 137168507 872548161 796040376 983296537 908301819 464750516 211111263 583139684 949931891 910620262 363123890 415407230 159804045 380969406 346229408 307812114 380611603 679805410 378249479 601905270 323327608 812556219 829282688 458418638 116890649 357217565 383081385 204037575 821335482 252651297 264370025 371639975 324453184 668528871 460189721 296964346 565663038 564078307 195386113 636943954 241685058 691713182 112273972 746256257 731551735 800226859 609031400 123437142 951648121 715855654 246983698 163701707 843941582 628961907 944794672 847479803 569989687 890335763 100877397 337108740 897481479 712814946 349662618 748825864 197749270 546262038 924212418 387432094 665206764 310842062 946196928 862583133 322014765 242043899 364368728 447118017 804499610 203675255 231719123 217525620 681747773 681651293 519799571 456411454 901930491 915216639 149757347 608041442 775039804 779257226 164904178 766680559 425971684 977313686 989379293 872725345 715580880 289244378 518441793 547907436 627845221 295174026 207589469 979459970 101559836 214052677 357362066 477810099 292624894 350563354 444920168 402090138 714815871 836767064 423202782 731821377 890670229 848693375 547014202 266303073 376230799 478578717 380146487 288951766 538069262 884203651 132536812 394065037 176384130 476389855 116976066 966626201 497993441 324679011 525397957 707971233 853148833 522536414 752469766 625832964 464437872 375992783 655766640 538333557 515955018 230976252 469083343 558903852 635590469 586353762 458328204 973605486 233234682 607916997 685723049 357870797 129194358 964238351 750778496 954507164 528994313 980771733 853358846 665625215 236855264 955118996 675516387 679337035 305432764 333192975 151474900 917496670 691567440 665589584 948969274 490187947 101020205 315520647 793643567 210024464 442655350 944320077 506196359 444362414 880797285 277346302 192856512 492893973 457671617 269936606 904608925 655022001 123995995 702266090 203262256 154892553 463677912 809183829 120240300 290671650 259977000 463661531 968209674 800206277 544516932 658667658 560403218 753191766 232998692 896750771 354215915 196149291 731494148 879600407 805632153 206865037 491713097 540152604 379657627 414814144 319569616 923022093 315262655 506560074 933826716 416693019 803199296 899435250 189748551 236269013 315681041 752419483 643429757 972892616 404773454 139693005 182713905 850441536 137471585 401039860 463631365 396619846 487595578 943014614 476094737 304163321 986690665 693918425 569367646 737675690 966325001 858202189 495120449 889611371 582369091 830998546 394510561 763891992 656990094 803321035 240997930 777366521 385483842 139119406 661045527 291281646 812877129 254151253 164161534 520003964 308484254 274226409 604180185 246657762 152224755 296864178 494219274 367389289 864917617 155662553 904100234 770991701 374251429 325886582 995264266 790423626 533412157 148666390 321455390 156906167 585396756 527898855 628849923 443770842 429444638 747731878 574466002 725863343 777094703 877820180 532833368 835615162 754189905 252484701 648021782 416267939 700797635 179662353 952419804 476003783 790240591 682782689 693287543 748509728 252376466 607530680 158046542 957739222 204963657 480770678 495754554 897222148 118594566 375391717 160382060 227435739 149179256 504211963 726150315 779653597 932016338 359066039 954690825 189292508 675674920 767490556 460065830 339275224 885314360 920820658 492207430 919168050 669746018 792166015 160853397 761583992 389418986 371342095 332769267 495309780 556841932 727682062 290498424 634353434 701338175 992467978 595279510 394706362 571389466 394295226 307816779 951362293 498204721 647924755 942208272 769525863 333698316 609427993 837332127 678277448 528483446 150017561 618068442 410444406 565794409 907472654 286314714 669617591 863868767 413671952 529514440 274375850 289023063 684879794 739977142 974423458 176847280 326292953 222246547 575342599 844161642 884442646 658983358 858287980 471806880 820649842 772637371 547818353 401420462 107118723 570827738 666264010 101234517 692870329 436453414 685822110 173054081 210389062 517679170 515210120 238366409 521631091 735070898 334664386 939875685 392997183 741554836 741373053 381879970 600935821 714004306 321847969 727658876 425085277 906693043 733653017 577986359 202456506 757100300 488210053 708465945 964057835 153419300 248935242 468607789 761000304 961967942 703420136 685217577 564115751 740780254 388027514 231826609 346749790 376353387 797128552 580663156 549083305 140419388 431663588 422132380 407547124 893664267 393011367 874872622 408798979 974469148 880897052 812862973 944774345 468093792 397010419 358351266 550510053 979316824 685987271 394708531 582683800 493170096 846518321 881751398 426637198 349158740 129058528 118401894 635020034 895341487 624988310 842772071 852341986 319489874 278516300 953316967 298241479 677282909 782590808 761096581 467690644 809697077 489663098 482949923 745713250 992381163 588507480 731837147 812857369 329437465 986819271 699110861 431599669 666056391 816326071 767448043 747144665 123912063 104101105 871787324 866429347 622115203 508552166 411865028 961613105 483241116 108616277 488382444 975072524 982120885 133123488 965880903 941288944 844907553 702434628 751400029 714496175 639468582 351000969 524935950 430815729 370163099 640911520 416068942 141179508 655094838 315985739 240569428 538218717 413192309 753484781 240500580 304407654 819947040 850318227 418677624 368553313 177978919 873777856 816575532 933516477 402525272 812281590 322986300 462762068 699545951 823587582 953005529 952766436 152234580 704347451 143301637 725956946 844086207 370210172 405554333 858268861 684825223 972057690 692541517 993109111 612881311 276348708 105705408 885760272 329720734 211014184 517624204 282281733 751980988 256872620 497840955 468922900 994926565 268146571 115158196 608856346 585446842 658109400 498181793 813638365 475870889 503600095 865849627 845291484 303646996 462958620 459385585 106601949 313416355 309561319 429878149 262223786 198416587 345063039 311224761 347983076 228918897 550130225 255185822 738615364 579979143 732964824 929932091 950643401 370021608 262171951 271376061 779556746 160931262 695038591 410098816 806588771 354616372 904341031 701916933 558621885 617426321 650519589 273483821 269179234 857884572 861116512 379734104 101053897 809673416 777961633 223642427 759906051 300479053 501429029 463963530 882337095 976902793 180621498 439779106 367541503 358365993 808910578 435638288 539960921 852205106 443528748 906533236 554229397 618074185 703828277 283598381 686217387 384001360 980365098 884647479 389348793 959000049 927612770 222720071 209432995 471999120 666483880 432846159 178101654 147213141 187489416 750847761 965639456 540491133 124496427 539708471 180089157 465327175 590425975 970823634 823523878 504701878 311981637 771125722 231701106 717104316 455274772 886053773 893889141 709899016 651811155 503272447 820986768 207331028 569874859 892597279 374778750 450073170 770792763 697058607 349987131 446668495 537478865 624820686 504026540 630533892 138476198 606744817 893041008 833645009 802576844 434033330 716149906 559114655 885575439 860845436 865232539 727616547 726371622 386893324 469512024 519244613 642089332 597000588 340093062 915084203 838786288 496649367 401314150 233640447 780665742 428254890 516352983 638482433 943161382 304053876 452626062 687522547 162651740 401323301 153174676 276630020 720581218 988239750 344411177 770264391 423671942 698481317 524715392 462402522 581370031 900479893 824235639 410381901 612234598 685079556 992594103 750312998 497123767 377493025 608364242 331328236 285500376 118919428 151695096 861013774 227069168 606957163 760189919 927338593 852683974 346940870 283282759 714357837 239918861 333814033 106835421 938087399 427207311 475145893 487760351 510983396 808682059 608974898 996646834 541461281 130878707 367754589 525343134 989353356 537713916 416727727 772297775 994739808 285981194 331016319 714415270 861483282 377553937 146079543 128351902 304472903 958692377 324808139 778710548 802660476 552310237 687223994 650534577 726531105 676809837 774542209 436479350 321595048 194000203 349766779 644165198 589814319 793235311 843890524 712589591 986709870 612955459 905232392 601239790 371184012 796282414 768866274 672781455 180376732 811576460 210195685 237288741 584304974 202538693 633397260 260752622 182418047 197510048 853649134 742449360 422082749 728907057 400980581 752563481 877467249 133149433 301150474 932134894 996831415 531419224 627166804 104832034 240311501 658080695 301171333 250270328 679719963 625466504 473875940 987702218 118946010 911659248 536174636 718972869 171343233 657164395 709781867 942168606 623343399 713296942 259935278 249009776 953014538 893755781 272346212 287798646 837721480 616474746 186056566 227220995 516068336 938015370 599754191 804511547 905112708 765622672 632765379 572453373 837099079 113435966 994759812 829824113 962294452 316970993 882525442 601861234 846679588 693606077 390010668 519738351 705426296 128354440 544308574 401620752 163836199 664821944 337978463 320262206 824541246 884332549 737949327 347243226 575599700 415933475 476181833 720246775 621218833 192375973 743954202 343374746 636187443 671621332 725285734 422671230 938391912 715334270 146587661 923584019 956694295 650616902 765326955 417646014 364242586 143282625 598946645 873191288 195381534 473603312 533654991 110943060 875238378 983560161 163468464 812786108 862557029 190808527 409341914 808877756 998394050 291224542 878139668 987733741 635853160 451506883 584534801 142366243 648570503 376949328 186547344 951295627 844275243 485988471 262645596 193653469 658125984 920347718 368654939 350232194 112342571 422562145 620427585 621954818 552730150 675671967 736622064 575322467 277318164 201466548 688482617 540492610 234470735 244468566 783935906 267826322 336634203 864362086 256226255 568557179 366773904 576248647 394436233 661789463 140654177 597325080 398494351 925123733 416885926 775761736 224083032 796188481 211695637 513859144 115545823 937478030 509250400 635968271 797106190 438555269 827761351 520112271 139354334 804039849 479754013 199581941 720622878 722956709 257107030 698991335 529441945 234814960 444916978 257341511 631344505 466055909 757090542 867130326 787408930 239909027 555897750 227169561 583186836 366553269 336240458 882313546 348768722 579695163 114202961 380759214 431301056 704016946 157088543 252134097 611787823 923984206 273982570 438117522 439459137 104040668 671947789 652356530 277109825 178457102 299315154 792022737 620146547 333687907 854199181 981303169 997775661 959080686 438815611 824333528 978685957 994708712 507840369 587805039 572331828 168415112 346589129 663719118 105470189 976110537 987680339 201558722 875157098 521251306 428585839 935901898 412819043 130016582 191754251 122889509 179252608 726999949 571852732 372658986 752473666 956498046 959623458 153267976 896281238 424264398 159465554 881450303 205138337 188810422 814218479 830658562 853313555 836658775 430648330 652711255 894051829 227490449 788077898 847271943 358285526 467490142 196218754 547864486 101887297 413209054 581003616 500780894 822427827 612304511 645505447 320973470 593783475 188847991 388138931 303311990 952979410 389217305 870432541 643513333 211910564 242819370 343777272 524741109 244066844 691109286 211186604 421935200 163634069 866120132 560275516 162353170 246864951 723608716 154920294 750379675 298239252 137073365 332016009 911691674 372200501 707804678 661694297 260452030 922152877 868626226 695004327 985469878 713281956 187873815 683981288 726040116 256864609 401987506 961126803 747726084 225738308 559795207 660922382 342647183 346989533 870007680 295389943 261203059 129542183 406380127 777675670 555565931 447344141 435339490 313180595 417933190 249697851 301565672 586584090 475427497 640336376 101768789 180518202 243975849 477036106 307271749 179686732 512357132 219907860 737834965 219395772 622676139 801208414 300212821 655465565 677685115 883236031 257018028 161025016 469654000 410086846 971546356 365045216 816021295 173844701 130697435 611098812 766762536 911869191 387768983 680388374 554492072 444351053 824324412 694145887 626153157 313154863 330883514 158059644 565508545 581815974 119870958 298629403 269133249 519206021 818015627 494935708 551986045 542270378 796723212 529399751 327906431 404630687 918829292 727447029 513133223 218257165 778263405 689324787 119902066 838832290 944077295 918301540 919313382 221639311 680739987 221323002 653238099 384437705 544393523 169133650 223540286 126192967 758373878 460263549 354433241 603303250 806059122 674357282 704095005 619185793 274356116 634067827 776563188 339086696 503329409 408922997 744814600 132780875 981379790 529306019 813479602 401789660 322293700 897410408 947888589 587833577 355380051 938635722 860433910 729626965 609674516 419970742 653671274 473725924 264467379 191381001 278544928 138423384 376708522 234747868 555956233 473454434 672115090 413969533 843641958 655727593 534301528 504722457 342430439 153676121 978097517 625555312 596410796 629418355 171469895 104921553 106491793 744629942 981734751 469701806 427024206 194463796 141571282 757505031 948403225 578286645 475524162 595240282 204428078 938994335 738867023 376053294 555459665 650032865 910609174 239506112 771697028 258277018 617198634 799717459 862840369 641641899 495757807 354132679 220984489 831218114 247593166 509149041 975583175 351432430 900726870 627907761 243868619 737328715 150755512 993424572 436953026 553875465 217098791 311094645 167309867 862997767 614359665 488930709 309800637 206200986 542506323 388411969 933548096 829279668 693911866 301533438 723177977 457647070 681665843 831385766 114195841 683682591 404497477 133600187 696926572 457614204 585045366 428098559 784703115 751434699 800029289 806519212 129510933 959454923 783009666 958977598 767813023 384329556 852191412 521563618 744703901 159033599 447958030 861314709 440751073 340789243 436765448 731292426 441264162 281652758 933612042 615382515 726867457 859406447 289178560 727383567 135930149 189332007 879599754 140205940 990635118 901489706 211125245 313206198 897274137 572390511 778343561 588991916 431254597 932461346 182914491 573040025 493215173 326134914 727798647 568875322 321343428 776322411 949598064 769940482 540594492 348908070 846469577 288612579 468129542 113705468 411847946 885038044 712840126 872825033 263083446 388495037 754263764 989604765 276818751 914069332 722463892 405481453 102569456 278046274 232172924 464451603 796831785 715222485 721974386 814995788 659811407 312845494 697769333 796978601 622976022 552444221 244255612 787600770 128343762 525393586 698355509 378045807 219116361 927455088 297278540 623983875 867848417 245526399 768120343 653274214 698750048 953216092 874905779 137385268 794444438 457012579 129565909 543289458 320495855 539207848 348302132 488919216 298961310 317022271 208716818 546017649 326034942 583473107 382190801 419574641 679743508 623796565 677637187 877686074 255883698 442941712 216928462 745660128 955463601 382932264 618028239 903365733 596781914 789531446 431823144 487762858 262899076 628042320 335232470 812283436 602976906 189263587 147068311 890126636 736693002 657906218 804518746 555967504 791861735 907634992 856876352 405667890 635719968 470297700 893500503 537450187 243205728 270520465 638553025 799759535 587742367 204160353 547943547 491455431 409691480 351827988 684641038 688790464 919500234 928155423 390098219 196667489 394739491 516975270 882948759 602552059 416710670 765010943 571744470 163716174 514396431 695688389 688892570 168562199 840731525 630993193 369567912 383545113 706058169 888287605 195232079 688727217 671278943 549506874 428024549 485424529 836625513 106968400 437446275 818840533 781795209 756594587 676371382 774858379 259146073 647756822 187402413 800139359 946603871 966691445 673867755 540504785 272595933 212777162 291939339 877279731 726460294 507388157 376175096 710175108 776439006 592783443 892993663 151601817 877323073 881565085 319499764 290674346 692048950 223179645 762638553 619736939 931386984 627999323 860119420 630837679 774873264 628862231 626605805 146489379 871741735 670250736 237176165 186062970 424581326 913228319 811096220 773064032 419251039 507830045 119628803 275501019 719508542 254876076 648143500 101408906 724299923 256930691 779967235 370291118 833304620 380437950 919171945 365315412 404835267 265634394 752648971 751775268 864137525 412473826 461752701 521025534 135369140 461648093 663897747 605897158 506665516 349874091 733793209 347364442 777593949 987750529 468747390 860943633 148381146 434710095 419032585 455995188 856974178 235289438 712338723 905042764 777955139 139541946 267118629 457345369 438213003 635159246 394968158 892477595 539302720 351807510 830185358 644253353 105582538 606185405 120388617 753098017 982456078 566472049 370333359 428935223 832935780 994034020 186758014 464388458 788248794 645377535 840731662 516930771 362342170 498040893 776374266 701100597 533243977 969973457 469986527 939833610 754499235 555709101 168767382 632201122 457471917 197397802 255295027 381040731 275759843 899745061 831331368 451372023 295063980 715989529 673825889 350928818 713544410 623810992 131847914 165347506 906997166 112057902 113361149 376759216 123560378 234877521 939527734 667888736 530491715 645336738 333343511 521312248 562769173 580582779 845203779 598489520 162411631 340875136 122593065 696101161 634175611 759760294 353550753 807755717 396801841 595663099 348626860 750438091 920997834 898296529 541389534 617338351 858095286 104290313 603438031 740439668 686990366 713184454 703230108 776204963 286000542 569639881 133501144 929476141 241756913 273399603 906396322 682899712 648482814 122840844 478819781 610400206 350812711 188896164 919436128 656603824 703670841 762528478 207779446 353065391 299791981 250299988 247240528 612696504 887527986 843162416 473670004 233045799 334401387 958859617 907238101 398840322 911390041 883625194 578171078 642710511 562629654 845394206 508482677 454324762 413356745 263502551 194774161 789589506 783453644 738855507 139850313 724631459 981343986 576267220 388488167 316933446 649884407 981341413 158389501 958276964 352248221 286287294 906810880 164224124 914714298 736881980 425649124 615995210 107829282 552645659 287576228 659100268 885370349 656010741 502388080 483682270 914635120 824429061 834199031 874800817 762967687 884951060 328901098 460530347 623614012 167441404 900696294 401053235 564903295 758123545 994108653 899932860 532967979 250162582 245492731 119592261 363876227 787563546 490654513 108603735 974416388 844700433 859690987 348537356 599027731 141235338 650762080 345969286 163276503 231021683 208124747 446265870 522986368 878643436 233637672 581459586 147339001 962110847 993613408 155078152 681499494 884718929 821233073 792458056 325069363 784633059 836239554 941121098 947019311 297877906 253298098 689362258 775722558 219513856 345117127 522833143 352125373 226633420 128167689 758524303 980942655 857531313 229382472 537110927 689497086 493020064 313078851 737863399 266960642 463264555 104741699 175605609 987708683 777386568 543920378 336409407 795963641 449506486 664715593 299882115 311008781 915580544 675785990 790572141 545865152 322395308 766680244 400268871 547267934 794840758 635739940 251306528 627550873 483655648 120827764 696150913 373288770 340131633 524471866 461164451 580210144 361066051 440775419 398308887 531216002 410769752 670776856 472109842 951188197 399907349 348486707 499736369 245906818 604613535 119409551 797545970 906450871 373767120 117091511 474505486 382341861 589261603 644713187 174512731 598155755 369840252 212870033 537361827 529698649 149743773 642277483 170844123 113533325 521318377 160653574 253036178 289412775 188029412 294901074 555629220 692968130 451624719 567263419 921365457 333214163 377876790 875636947 239903631 405151559 387838564 298747020 853997975 997449585 430783765 854572174 365403199 572633231 523591789 812160696 936800771 851085345 216520345 110679735 491490685 705418840 384019992 620881023 785412452 659332174 350288461 985824184 724071059 873870107 989351347 102580668 253878557 956280643 259244858 155516016 310284666 708034956 709329506 162476933 135910474 325449400 722302469 926863319 741968151 515217347 148789814 996844443 174667961 538542415 899354853 785079557 897486214 940277943 580546127 462411319 746441234 704121787 593960880 798269871 311887124 517757318 992872916 423849556 910548514 353130604 773599319 709597343 640895621 838589384 810910496 318628465 408677632 429550473 175051957 837487348 645271754 860238987 175945330 510760333 343117906 798301095 122433628 958615246 592071288 598400494 679499911 903639876 384259614 953493595 957410203 269853602 650666886 657618965 712733208 784599454 404987008 105916882 779098225 491347856 416363969 385878864 563254017 634350814 616680013 265120708 728299535 298166969 725430807 551619546 187551587 186611125 852266732 271934980 876047146 973010957 215178931 247572204 901892873 948243359 776379379 115971150 297568042 524460476 780768797 580486209 603833747 969792596 282804499 774441122 690536099 754942211 999608978 244770365 437479860 970667405 658122163 107565729 401666435 904433040 373865907 662314093 712565292 532476638 792260084 495954416 519654055 932376721 442702195 744228073 327560125 363800963 286141001 313941775 376143682 530409020 139142970 564912255 296792480 110672505 326779095 668131930 343710990 804403994 865175861 801203557 196539761 307678884 681106822 638574059 952705854 250158157 246088483 307438942 737485013 190561440 857133100 886267916 938501181 710127295 127278873 770391446 832749896 795492244 105469082 512903226 421970197 194866697 965104030 214620319 754428787 914225944 239391957 765570145 887861982 225046672 789805625 808472756 130236706 410252230 343906340 218187413 779722456 792165489 131181776 507152459 996625404 124910770 418845086 317557974 109457748 720142827 221520071 292188105 439178061 725690619 589992947 302635992 215634659 340664642 537000972 633590369 382280755 513332346 980470617 668713838 469341354 612511398 476529532 196557152 143478231 734295461 963364832 158225947 185109344 976030340 863319894 380333404 319150796 207699454 170544094 174791728 385176612 336130807 801418604 727053632 867541528 846950638 295145358 123794936 777015235 342554223 509011995 457428890 985439591 331482177 977265610 931663272 603195032 178218683 425457513 456090489 924623322 835086101 114328194 295937938 727768430 749912994 199412850 695916422 988327459 328980020 293290695 516672915 533939206 230589634 855451667 480115814 255550791 948389049 373399132 550184664 795277819 460628757 297038380 965585947 283750206 796118011 149750183 321121167 664522475 247384231 515986937 881440349 432255810 392474171 210620199 859260973 488448243 167851774 917805693 933619619 752978819 471004839 841485582 306672288 576144715 174389125 293240508 849008654 168803965 143682463 279343867 682400388 402041252 714186723 384477342 710446763 712460107 581221194 270996580 626928189 570571435 273432964 406684216 759361144 473147810 521588335 690477448 864532112 446502124 117590938 286683840 125142572 549131076 101673551 238686531 788823201 373379047 685450105 921511205 881211333 766868235 611328316 484675717 909623066 414193884 934835417 947274519 682253545 824976877 826511369 583989727 158954732 146485415 335565959 801569723 115903554 749497669 737951159 421585943 131349924 837915136 309878676 678596573 455604472 533877460 366707857 951069236 345916407 752937220 969412309 741109515 682315538 757968360 854839636 284099843 424117335 546217389 904022131 692647586 500213593 819883167 647459197 604266033 276664175 971343739 259032909 775611827 120991365 229582505 932928861 573696109 344606807 806072985 218738109 490015187 823769896 292751432 943940337 992107115 508623246 260361333 164805782 893868475 991593907 290680568 469272614 847926826 480371624 963794988 173940717 996105525 636710559 105333874 213775317 935524521 228167693 536598106 573163624 338733622 601205016 970935687 795408929 808211836 317821369 810564914 341672106 423005201 479164805 539841888 555969469 354944758 988499474 751865339 500396316 374371979 450731913 527926172 828685262 696576317 378574106 788447523 390690869 199561165 128193985 853989189 188516259 266883520 136072524 618002437 126158892 840627750 713336453 349911962 361637437 744947068 198186931 200461138 700398842 440739710 486886140 982527006 143952558 505110962 211922581 289135530 219400274 118708061 800352868 420114012 355320001 711287758 910134587 925529249 542725907 754109400 549412889 453416708 780584134 664054484 400482102 299646203 328849580 795327176 435140489 855771768 124974507 635790997 667510569 202536014 128974671 371680105 220149665 650305799 114287148 614793525 949165993 649508470 825661545 613854789 247924090 347358430 354258065 749334593 214893849 511126428 843301506 978981121 438577694 781604215 914854517 939434289 872401212 980287498 534984763 283741816 675643147 214487409 351184273 307126828 344130253 356561999 637299881 882565241 584488496 562563824 768212635 110185849 978227859 103018325 624067569 699253482 596855838 263905363 273838718 475314717 955639236 496238641 597951244 223726031 441424993 994968441 555582962 837143277 790862025 891627425 563235973 671894571 600772574 745597554 508293747 404403790 770335158 411696876 858952461 306929975 656321559 134618872 171000200 606587467 880632516 630262528 105508052 691741626 613304410 459754918 667378556 887533174 555210586 744453359 279524940 787631154 423182721 906522859 490527942 510428458 612137941 553113526 624403731 576704451 325914232 899532156 440894879 914353009 599910913 525346190 826715491 285243054 427355010 629939662 826122576 262684703 985755188 197170918 686941603 942835281 886193568 101956114 724874376 479937743 282982598 151428277 821276641 916406366 458755011 867373849 226816130 424931027 974410848 888590157 769034226 601321589 837235346 492434744 191417903 177783871 247953264 745555424 209142946 999561434 762932129 758404303 411116369 815678635 290683924 441095765 405217295 423050933 505285612 387743431 743684830 544163823 312550498 317330288 851569224 502198305 777261312 839783719 849452910 786111876 891307110 901681634 169636240 828352109 376829694 210913422 856580760 864604163 702473803 325796278 618284183 549346012 633614802 597596499 988183344 817336280 555419773 635820262 479649827 848542756 951471113 352880782 419145898 292588760 339611205 595410990 132328822 327571136 172701476 704656132 939319339 603737342 870444729 809541588 126833605 259499606 848217695 120873883 269603325 229533124 918781770 353102117 717533387 893903175 894489981 977445795 310959568 226856036 262174655 554862687 756617067 829369771 967429595 829005049 895049646 572819824 807075065 634975652 642973457 783749931 789681760 674556036 863081473 977042206 749608684 519716014 294221480 467702624 360780645 185090336 784098567 927455322 616717897 307422398 943349122 980052151 617854230 188327005 592100502 156634889 751282112 330249637 953107438 746532262 962291163 131489817 765949133 769891476 505094378 131161277 259954848 466552540 958417738 975959481 173334685 782899075 882724153 395712895 153496827 803027072 920888907 254185891 696997345 943620758 117298727 178113306 280529845 422649517 962526824 980449185 891498704 548079495 412692275 588655790 383941150 148664660 136553915 567188057 174134110 886527956 608995062 784905051 116249734 415113211 918865234 506464857 848912138 620270823 490403747 373400686 173817419 858798762 208910080 636908250 755324911 869363809 524502931 174821828 361424937 351561667 773162068 275884707 105901111 562695201 492789427 400937446 804115027 545794103 685543010 258251053 415766080 606281433 418086950 774055800 301858256 961372384 285570089 847687866 920220072 467734833 424964176 397484750 639637086 679774021 186261048 816722524 741142232 900582567 697493988 516157819 927314640 802326796 727053880 611673218 406350773 403263571 278952910 600796480 415444008 303655636 500367091 597642642 130543085 457870753 269911816 437402913 594202080 957155504 947738621 201516192 769634013 248891992 684918794 972031740 433371533 114376655 773142378 866655077 317857930 382058961 675045856 964915897 243068623 644476424 655202962 753806938 235591347 957259342 933439582 681985946 464814154 187428459 642284174 161690161 468676171 247297604 316660308 643033290 115983428 827869799 269011566 830922535 839358257 185207625 368027483 237656595 264713489 317010131 604814384 639897067 304278459 386533494 916843170 367523486 776378566 817940664 657301108 283395426 802869483 339361335 206661079 890607930 103052599 362331019 266067094 366701759 669286201 520283903 219261711 280147483 978026312 340769980 522790946 155131885 727991918 859142303 492723275 894505700 685872457 757655188 998539887 946664819 731434358 170670182 758829391 101328981 559711943 785430217 238722230 661803704 660382762 758453575 559476335 838619833 965804239 402056239 436731408 730840854 737096332 402873993 420724395 794842713 709971156 907402717 162167153 544314458 767366437 606528208 110451667 738733310 731404174 936625113 823755839 263032837 848029235 906082390 390184862 972540936 733489928 548261905 614238694 476483282 433759931 733071291 886883656 623673457 285106446 272267631 452451949 142710215 391358811 663522628 533990313 752458986 663580602 949970975 841250753 339567106 809772448 521862969 228299810 581277734 836105385 878616345 405070767 434958569 800850170 230991293 831183480 430188622 637888031 344107119 103924945 671230723 139973069 133964732 605810510 551484147 990746002 670854797 355055454 703023537 750334678 745909942 349024508 896247468 786073490 158833512 151073171 131305572 294382470 716282801 688761877 792025493 610521157 359906846 711841005 522693790 237938517 280902318 776421678 718317955 557915356 690735403 343485945 411800110 276353596 677413479 500139001 704893889 887807407 532762938 108845312 473507572 584050712 448505244 540827879 935705870 369173924 542147080 533131270 738535343 405007751 169353265 852455986 647303850 963146134 189586770 526665405 387809872 315366402 290662751 336243589 392706562 482740798 444604295 530936778 591347459 384624542 274823815 720938755 545760228 725832705 250843745 428847335 911163314 566205199 823632933 601285965 735415632 867013403 657099303 999741020 583036909 403947027 817211234 537932679 306995745 506854324 187909648 324070429 873287025 820134091 937858616 897822671 693916778 356908076 705067486 826838237 717376583 995725238 601982570 530289838 190953429 366653785 739974356 890279647 236949563 286690639 503954676 548761105 474760462 597130991 935014080 244927042 334510732 634311510 770329249 221867647 841075764 878445340 474933446 764994132 516052511 487039343 102709253 232460965 164459610 800503327 234182880 954434869 894674987 438034907 786637961 657701162 477015582 666372131 678487964 516087899 759951262 727083667 448032271 883624866 627424328 632763014 629361472 840715816 707171530 994207371 564804501 245542612 167189629 284232784 626363241 958094926 311622355 742154504 328086860 628752672 271448580 650753608 376467779 978656655 342904876 827940623 259523963 388124715 230775655 909065232 623445595 940295057 977461872 710774406 626897554 385783928 855235888 106597740 837731754 888735771 852664800 801830925 690161184 691731238 752054066 817212810 339683748 683229265 667350128 418493304 120875287 814632131 907839846 508461106 932963671 445316170 665167156 647038919 341591754 318822861 322363792 929476897 147760239 594810374 929796849 909478365 792500602 722540462 931857802 209999154 169150418 872319186 150802661 162340209 539913233 501694320 172620444 611614855 192379688 320186473 485996927 361083008 234498098 164171293 143802388 258744573 670477094 643110781 770275753 854037141 465940891 240349010 997044594 106013098 652813598 192084293 476315547 454207187 275448140 203101817 127668805 694860273 633200938 760807060 679218204 765047778 383934820 497808971 670179414 517807679 275871212 154790110 246898218 727605150 550872772 669228561 256253032 616270974 502678003 218005658 792097587 342550460 828619239 587179647 925953221 125694813 453629117 741387444 692874046 479010360 233392962 589949086 422284540 649941564 657317465 998880812 817674928 504549011 676383751 174951375 804213646 829308876 499477532 388605030 248545923 994947586 577310649 353656646 355412487 875466939 275280146 811552330 413351423 377063699 657051088 571499270 138278083 136443301 503078672 824952927 101350118 322983616 317328896 145182736 482029235 572079128 472776239 973637344 669672191 830719173 198601932 698688662 413436533 186784093 296434293 392333973 773731911 485457655 402481865 560398937 196864559 186772390 484746072 179201337 975663531 818154407 779864848 731454735 736695918 553120334 860432953 855243218 793838993 993038408 505231505 976017067 725161306 939868083 282764272 156248681 131076805 305420080 418191582 490902715 989426374 850799819 769321431 872885279 114753764 354089640 169254822 993615421 591112709 622299529 389456783 777844812 788240963 404574792 902255231 259880045 791670488 242010589 697715505 347262303 852462302 980282199 378867361 333830609 114892057 560810270 421305849 908195639 160575667 159907553 155976179 695784947 969862168 389898743 706594848 861272198 857962883 920893194 736142725 909708691 401267365 829677422 632246891 791816863 696839830 820737317 682423046 309589386 389362115 721003440 605482927 830079315 686006946 965327805 830647183 125534691 297446885 910871750 960390323 852397476 784362038 729406404 800885355 330957382 408228158 851451190 825259758 852139381 652685226 728690773 696639984 469066392 511138259 978683228 299246329 734054377 989362093 534982150 144167198 329035976 753844431 785162740 897178058 671091763 127602361 408407076 579216880 635132361 943931169 828925733 497614969 692964298 636319863 757436272 912970531 897658741 509312152 328397088 238932010 923859296 138508268 558467096 527848819 957355546 443080003 568966681 216525733 893430804 377965738 605844534 660258549 648200497 931866889 813942179 863856857 241805908 796971816 282598295 620502007 688966839 742648199 684228132 669548053 572807981 295705454 838550682 160322007 567920206 510976328 599075423 827298993 624178817 650156935 882462761 252078185 399658345 199718330 424730209 929795226 238571980 707416090 295884927 955370758 200354384 878218541 869967501 799021827 901766265 160503028 114616346 120790282 438498675 287085180 227844316 528857370 258891844 772276780 954760489 884954281 775346909 191692870 213747640 646820307 762774415 942125528 748541719 813011603 770176533 340708267 726137063 938656433 272223475 831714379 726382096 582465214 960653023 787785774 678333804 841659453 300013819 362854325 412281172 775563274 307701560 905084135 816310176 312728332 402496596 946630176 875733064 617214610 908152132 615506422 791410912 346685609 604309138 542777691 594879961 400076270 539639945 932624438 903165706 317011836 905973225 421345993 188131400 868738070 565144521 929763280 569202236 949643481 699349269 297916403 817751047 487830190 456911205 504942211 421971482 842877865 991995565 420549565 493214903 130777191 275878312 472143660 247408938 282968609 493462250 404491272 309518845 260665578 197830814 729549389 391455263 389956146 180492983 907335109 411585416 698240432 698210098 425831887 686944144 273318003 357211511 815981173 337269222 781593122 301127965 782074080 871016854 146677262 290235293 470063612 601072539 544331286 983403480 483193973 170840610 553612670 887244304 199322010 702890754 111311462 333566250 425341572 851772336 209617502 964698275 289596006 207499070 565934588 479852076 728560852 159902165 545578255 376306985 624173539 143998054 781006571 669182410 873697753 673122215 736209527 496927296 138811128 406507826 469541835 486493773 991066226 298290914 825781581 509397306 881115177 707983496 872792265 547883362 508234407 216894103 713397915 518252358 753169136 952617277 387057136 610018591 382109875 331943405 894235474 749056641 480800312 625241460 421088166 233682761 625163251 626632489 366622031 561690835 186137575 620890511 858104021 730132030 588054793 683928692 981259973 829628187 931568404 500538020 125496391 338328212 874699322 836687577 592126729 461632992 680779416 447696397 593437732 841996015 709593743 240007754 512693087 257449301 920219302 552328276 779582964 417098853 412064492 847380336 231107710 705734110 118344461 687695658 482277820 893179155 499061049 278242826 316362353 212626856 644430387 273323043 610404294 989632420 699215000 575768674 745546551 794445093 473755603 974198181 710288281 377132813 734625744 371273498 716502891 428379773 387898785 685572191 291603809 584102928 939141891 625020650 425393504 120525146 324442230 633002488 940056881 367790108 839752594 566319730 534906097 716604783 463022826 170228333 231747347 318843510 732206573 734897835 878384776 510853934 566489954 268135577 958380117 531575243 551583330 853049249 652024714 962872738 442778083 786794464 864396659 200735201 944541604 770877071 861749313 633664301 882962351 564715455 100446678 591354832 238820173 730755167 358634785 139281194 691980350 118653647 289011807 688133210 688044344 160705362 998102028 121405988 464833405 395794457 264859599 327959352 150704347 597972772 280146988 178700419 308250880 764994414 555926253 667078386 184822560 259904589 742438789 618446284 435316846 929719813 846993702 946394470 855426351 482144522 814809095 686153343 229767182 565602867 855160382 316555559 336370878 334513099 401624507 688565528 108604128 375251480 641464310 145845991 764669049 949334778 998841981 303928624 346984575 666363620 323390502 212477943 643422695 901421408 323229658 255803026 926736282 587490248 449052883 847512690 358446236 987868724 152389069 661849141 128787929 465881621 764821710 744429485 887821534 443278001 861125657 386142110 471999231 946237380 446114625 766871249 334406888 953719486 531569676 658316175 774296956 827743637 118483680 533975544 989676709 866322818 172195279 167549349 377251611 531945436 488262431 211544548 499724844 410371739 896674247 430987040 446932015 727807951 698370366 573391806 979869952 294026250 527757990 320931614 586944713 734016846 670369603 137247735 729689263 467269297 873893481 433242724 247347438 454995388 347877579 477256929 936605809 242742373 471208439 812828555 848244599 906942358 190231193 958780212 613099260 584793688 885267365 875879092 691061818 801858822 260400318 109446405 183128316 358807559 215156567 617279836 671425225 988507177 498363534 810160497 707625408 391095553 602364343 302201380 970726521 321401859 382479769 446369010 123896460 573680581 748753642 535630498 739418932 830885368 861527809 757124547 968251398 652941861 634780750 255811435 818856757 450441268 401788418 430558476 656170868 623632009 164012219 253849079 783479164 365633968 360135936 629224864 328948666 292990734 430475646 827514074 893434248 345311254 842728895 258301629 178345153 363065219 438781554 645035983 939426794 138110294 783384586 899359862 993413809 475803390 207722518 355785012 576165655 151188138 550872622 195954622 189440802 697369669 117787798 395100151 871560637 670756238 644824828 907313883 795932651 108812812 167148172 879265590 570278351 246975971 331437081 173661220 586144990 416888219 759641400 522024275 345725331 520969315 911833675 715108395 693921417 195855791 597055602 104009855 110495636 888860922 378953129 277285586 916259309 966545872 270291920 298965768 706502355 724098271 602843917 323534893 348995576 368404437 711089940 210719612 272748281 754213314 113326299 603957342 146995691 432588455 996619046 803924483 896973745 970111991 228394766 179815831 747376104 199180489 398188715 132235743 849773850 476121309 886104170 171057704 905579660 640196021 328575274 780906486 716330578 741404547 182338056 372686443 180932776 332655137 403799563 794629075 911354237 261522655 205608245 309702400 461138919 186308736 968803127 982360206 719255864 862590752 191364069 574862178 232712753 847128214 498496034 350607144 432890716 663187165 204281783 494916070 610226053 185355763 327930436 478944748 156632951 583824573 247983083 963714761 992810468 658955945 227057443 451356976 629402221 653499301 100160055 760026119 504048004 959885240 115929609 521449979 806149298 601792535 359060276 860490595 591614774 275285500 101259269 918463545 878468293 355949069 460250255 398075138 866160319 111074396 904127361 153775510 803487758 856420455 198512999 211433184 758220590 605310832 410607315 561225743 798966969 767980787 534322759 843595197 587473993 412180652 888832073 309909164 843237779 733883785 603030573 361808045 918044705 494871779 912909152 876976503 542845258 158200222 626738791 651842947 587738643 616625481 179320000 737876432 277711652 991423955 348666833 959039123 827600293 426813304 729198542 918151000 545688979 693371984 646027759 616959805 843474574 715035954 515806031 110371857 285103838 350512280 441389453 717376318 135583594 325831771 371174485 704779799 333790256 415265926 872270679 420516289 392868052 286034560 486609749 932963474 361849393 239710502 746688387 750805707 549470588 637495324 615327811 864499435 410621547 343059371 777169218 343391303 706317183 669171702 130665859 915322933 904977257 216420623 852096788 341152186 183031960 135462386 251351404 770011078 925193349 850851390 645171241 139461827 664137244 573896420 800143366 865236871 707322600 993214860 735792860 386795856 690679693 488951260 787724859 890465850 277405484 356665779 122495274 616791423 924049157 537385303 492889525 666151637 249318708 937744828 143803789 200548456 930530940 243963891 955293828 432483570 321832681 864927934 154042137 893798494 653116004 989388496 920517812 698383746 682064624 783815523 865808165 461804873 838613907 429531778 853203027 346799342 423601838 635206571 927598324 516453842 516063026 994578187 978545192 629286529 255271115 146988450 929273681 386860156 464813848 412667662 876972144 350738127 340316878 137253192 159556545 630604500 846069853 900739065 739004077 234567349 136581915 223503538 413930991 750719648 675320858 544562865 611838177 128355987 724981259 771913897 508336206 805360926 525654565 785390389 627977177 552855722 415658108 717341797 819058147 469741422 427359526 888369126 313972192 471771845 117388842 952000260 240561571 858079972 913249065 493628223 474104821 530461534 991124333 413404379 497193844 596685277 112671146 507375654 517454509 587174429 481343777 177676857 869679565 625279033 426435276 426178833 680447543 729203590 465889723 875296773 914699433 640090469 915567746 810960111 407064678 528473571 498555885 374911780 734720617 467093144 484319334 595060675 187729312 153771342 367243777 828891743 492018548 766994247 525017361 815318464 508693255 617131624 931222991 723034241 157806459 434590695 951306288 467612562 511407241 994988659 331485056 208730814 420259442 766804666 542245950 491788191 502480129 793297839 834327256 935666584 331358722 851299552 778623024 987198572 894586672 528261175 102882562 774352697 368016680 909055952 630852661 725616445 710209055 596211109 923825944 924555575 257993156 889018029 699220238 678521034 379580796 294902872 668857860 893794152 257554030 726945061 753407317 925218681 724429082 685693741 249162330 297722872 308596756 914693168 161205237 320719980 992732697 229433978 847877369 971754789 273040349 670707513 685934355 634821257 778110547 592015816 446557245 595696725 389248617 617438389 406794523 562746081 329635237 504555343 165543960 259278746 385092492 922157731 384304177 563540660 694360852 182862161 123713085 360788250 624295398 643676701 653769946 531029414 655110476 764062143 541064130 793755841 798004604 779767454 983970255 440659991 183680931 568358488 872144808 859170216 261217377 287958550 419395335 754158695 107544003 986127051 722074257 892172156 737749167 479745121 246204099 155217040 464325119 749216846 828094427 258957817 303965298 470798250 606530427 837244410 879124975 383342502 236005669 551068496 540981649 938734081 542708691 512899326 989463710 694327297 937316780 528445969 109901428 219308724 694948009 538992582 781906809 917013532 797568573 494616091 346805990 926071209 133199289 247708648 177694922 958786444 318121725 668665791 968841396 852680041 117329451 471225984 240953834 561224672 933151619 472865241 301116444 658695375 630237306 583533968 720540143 552356166 642632053 726634236 676972130 193413674 529277783 898533015 171657155 335441597 957482759 988734041 411444372 393491272 343108571 561778977 639381226 385140140 245695797 507549832 658395288 219383183 941894654 760641369 716405613 671888194 557893984 592241594 587289062 501223120 279789417 545568870 323238670 238050692 878075590 272714272 347869771 235864245 785909429 500428407 133633139 627647797 148672564 941015890 743225057 991756207 673395643 856334796 445910766 305937054 976750664 315238280 247518405 101937263 928783084 585535690 953504679 972377351 341152794 758341909 202314275 991802550 332620839 332693361 942171319 668607868 850806992 262012332 663689418 773755427 219030319 859231806 482597232 291248281 624632226 513265653 637131111 518871938 343273612 463572296 609897350 662683055 701987931 830980571 961247160 633656207 821150549 236957391 844502270 229302333 847453981 996686450 919506295 735737213 546680475 961501015 624686382 420625481 588624144 316752484 350318125 977475606 225421742 708307872 148161938 411248785 755859356 957139242 618048633 129749219 958224446 665085674 122316806 600858519 852169524 625587284 996252593 498624427 137062601 292934517 903045204 183621412 416356424 625127343 912522141 912174016 975164983 120879789 720413354 457549609 411149428 565054715 885752642 562636448 399995912 412702302 845208724 154436469 876803749 293387084 781164594 198215856 318485278 201024013 530059887 535156742 183239632 626633137 208401130 710881009 756891990 129804908 899854901 911844830 516895935 626618760 231200148 597795313 984429068 819614012 260103173 461625584 375932717 806134974 838575800 321070498 901999677 179032292 103649279 543389051 896204853 668408420 320971743 462880643 870847419 438412637 947054403 452381896 432328009 510584251 666064499 331883875 779946004 393509175 140999172 943144909 359542278 146145093 977146610 139887396 443431289 278905862 474200923 583853997 622473197 218019631 186427038 349925460 983109797 915274356 462904929 302440918 278543294 156002440 732607331 720444911 704322722 936595006 505452024 816222870 865642099 783011541 490762088 621875404 549193226 197025322 667516553 559718553 494834472 796065079 830350253 272721674 799381826 267157425 778996974 921684947 532317422 369242458 459860902 218993822 232680094 183670969 139274536 946440984 569127074 781725473 294638424 472015353 966641581 549203639 186908690 515517662 193382942 359450003 782929634 795230578 265152032 484251333 927929142 781700252 767600327 488717826 220839246 122720777 914106689 832825909 884784870 854978977 338955241 356827396 253506654 966955855 385257005 441113795 734686311 586008239 580171540 123439571 778187854 910557139 840614182 105902698 233859132 569753459 409949577 187874629 702895314 994331122 350152780 568150358 610718219 531093056 288427352 630875797 246055989 251205843 205946419 849298536 144028993 536144424 733661122 779203769 324183518 752785394 577892990 704493423 156116313 899988928 629459181 721774130 419304705 669961255 501239571 753140681 535430850 646785376 655252382 842756464 624566492 860460674 334407742 619070602 168887682 181480057 795292691 470722727 408011379 248394131 918694238 164747253 560625512 378426299 947848850 962921076 407442393 815139856 423536198 753852782 960295460 731849234 589988079 209767651 807832518 889612273 394444595 798663180 686013863 265958848 205416115 537822492 957493207 290203106 667845864 399759171 674848687 297418566 522656339 471350045 112008674 105140004 499172598 752485232 520693734 140562031 505032959 829805258 290544981 145520871 416392774 394605534 899494125 462858691 866238349 157355776 981589488 916537287 840689900 726653158 925054582 976292936 739852203 659270308 502456272 160971266 300800585 280048058 686447311 751677143 896840140 157008563 609279361 708135105 668449523 927449332 192497865 293836445 315249699 295333975 927802953 511986448 845650242 222384042 766678036 474356980 300006114 403767563 140749607 483591913 870692688 169031261 721991662 677455361 894355131 809549980 227787499 201023520 940834206 799409215 503850050 907269127 517940944 707085131 384815869 695725482 285519597 115207545 986331551 501255907 309919485 402088440 470917715 586945170 570194678 792191829 666805825 855162719 918751882 122593238 484285398 527810421 769743272 920246691 503229944 595191292 324344585 323102904 291308228 117647513 496572729 976957230 642882379 868716074 172962748 428720422 411275418 970587575 614590657 574200411 725346449 148548618 776978428 549527497 282041385 901136669 183110070 852606396 373252897 146264961 545740997 978518305 527480390 662455952 199809618 767767464 281267618 971375898 265649576 839236862 220479697 690062078 312021704 470551086 126793807 714956758 427867335 226447777 529025510 112905992 730650469 879497170 232977996 430749148 666270768 178592275 136575333 262463471 500390548 994074624 838267586 893975258 144085541 569982259 243377134 361244758 753991369 869364136 389457382 242474988 291237969 465536928 233139015 319355837 927500054 698763617 751531878 735063588 257007099 445241480 725660207 568989019 814671482 178409416 552998006 187782549 122779045 343365955 540438141 412725989 414925436 203595819 816821082 314123244 264868265 579677433 223305873 766827945 753388780 547545374 889800225 528018181 271551719 906172388 377415300 807770887 366660680 795776269 525079789 773118384 562994248 614642645 562165727 890435654 536668987 370694442 842699374 858197611 205535267 575098690 925176405 701886223 125922042 719629218 152626281 602093030 711387379 651710441 622639023 159890146 713999848 481114077 705328894 163792589 658777628 778012419 329957125 477996259 858265693 104632217 238588829 395050264 136025112 853025738 593524119 970046357 988135684 178163949 963578149 937159999 230567094 879856643 297806636 339321148 720431942 338728136 174922815 976815889 443466006 197909709 316636537 710647454 750523320 560543840 692700150 894522979 509575934 786605063 821099935 745938993 642611615 319311192 120087890 171018578 636995857 288462271 998332178 243383439 193017895 490384665 950834594 296436449 333623490 554874849 426963715 873568020 588401872 159556330 206904920 821551281 461002089 712593565 897353201 568902653 656452582 853545806 346283345 337333765 690307628 108167018 561011557 317885911 608752140 728858058 909822886 818190315 609432074 552572507 392471047 864217244 737395623 392401362 694339241 181269174 428945267 640462981 666753512 914484577 331741242 425576838 601288237 466561829 990147854 337413541 328757760 972903800 730010354 674717531 285025076 224030018 368741067 274148130 300914294 534181507 881995061 818647593 905901700 620452333 589392052 337344347 802916449 481649229 611103901 817471044 401199886 407752042 706592951 482101478 623596242 642464359 317356509 148211262 868142285 389560608 378504523 147782945 262568498 203344771 103367109 322116140 937986318 247083662 291738062 839602955 529383592 972248158 843272379 198688708 677517588 795149761 348795178 972783846 703440479 529553204 950232787 860790898 556946207 834192032 534932316 451325336 959499357 809640357 554819872 287035772 803423703 775600261 333530230 810032429 814328919 343376648 922931994 113956425 694775556 929078865 964993719 611946557 986651730 185957527 491401636 288965374 186633143 684081876 557653151 341471577 474526270 266845438 676371037 203139293 444282280 129015407 508738233 429153633 554594419 486330139 845097176 825268322 310296114 923656061 737937625 184838040 891686423 279903505 824314511 229390985 561992741 700097047 377541424 956555896 381863052 922645851 541222119 583795525 748498927 427650892 159972311 542218087 373572516 328942418 597641861 236670010 543806633 404899355 652882759 184333962 664766222 498294188 498228365 132588334 921804932 661946886 666446426 897196732 154544146 912817806 741985968 513487544 244684395 534211511 827712285 396432431 180634725 328736269 198199807 139549670 650582914 398120360 141743801 308173075 128457700 805260768 234427870 640082877 789240910 995640505 216182252 925373147 629456607 522405046 707191503 808426819 448940157 642174675 726693974 989078433 537858035 880733507 797859392 529599033 255115500 484233090 946814393 741863981 370737693 309016629 604612462 794718999 452624564 864424772 219288998 370408780 575270178 653822027 329269688 881532646 531673775 499526264 467298242 408628524 732424930 707981801 738041994 236621990 186256840 976079296 403529006 143658282 885522066 777155518 425699699 690330180 667060214 457740213 310343528 361370986 907018081 709753313 109570763 223607580 421488116 547138188 333238939 278030017 934773430 912501632 705164829 597729276 450221438 962061775 833152689 541114645 742125818 616650547 476711697 294960333 598298188 764979024 355730900 888744689 647552892 467349949 330233593 346339111 925022652 825835290 426837741 643188631 597281048 685379419 231027762 130411204 888200472 118208029 225988611 439249045 827250791 156273047 413072963 813048006 262014825 786767306 528577912 273845829 284059581 549160469 428011017 364188436 110943616 432118431 100637180 308191619 484881880 870764511 804149339 712620632 881051788 700377331 372672201 939425546 317320713 561028867 246756570 870712483 993972979 873676854 393037025 401161874 421905800 401046360 957264023 412870685 295253456 155511856 939299997 882610667 368008062 856904782 891898028 126286080 143098811 361825386 144567189 116332969 485567514 971286655 681447723 666270175 400032601 916372230 713110876 252781534 661924443 338383187 998999171 937871949 914764864 816039828 169780690 784310522 185356501 466394004 879254982 206510330 995362473 685053824 613982076 397269772 947565119 760572757 736114464 381165813 917825217 567536797 565493378 785596050 645526967 379183745 218387137 722367942 945447653 894833492 343713493 939995711 988995967 713637476 734291294 311964896 101446585 286255947 261897127 993758643 431861519 140607585 553687949 329922987 605734241 353133544 197606886 368257886 666023406 653982931 168624697 460869883 779757689 676698880 262869575 144619593 743661104 959114351 919670149 399545743 802421380 630232659 221425197 978361337 632154724 109713284 359264039 255511665 653587290 516635488 973225735 144414092 250059501 522467053 291294715 767644378 835525075 234533724 164984277 547832733 412352046 892843653 793152750 471882251 958462433 730990007 865116416 540369971 641990653 704134678 133006807 855582039 210776905 710343852 737382320 459180598 860029168 482956603 272681527 417846337 186782553 102009825 584998494 931017163 281534722 583642494 519227824 439954748 631910812 177571130 506461701 568122436 989591940 966810644 171528418 562030294 980095715 751018084 557739394 846674018 615037945 993179886 266715700 981640507 810588854 562606795 670510560 235251669 798095805 113088231 932133665 845595739 490894823 323902536 543010275 654566207 897157376 211566368 594916264 898826244 120342307 161014091 228480955 206550018 976315027 699515528 365705552 543769050 852095193 672221245 788813436 315920432 697258305 449146670 603315025 378198810 360868264 432085678 730483897 990639856 195759722 377427311 208959146 107528381 413305008 330284737 887625512 149766019 226425154 575764953 468543900 922498151 142675114 973705531 769135528 435585927 655761504 421349620 459397619 489799273 696493990 563068297 156113046 149985953 799978699 557215973 574484290 816336397 181662083 859652450 584535216 810296336 695488857 176420062 446774161 920957314 374513568 142647208 350287702 633862488 526016321 168352890 441096472 292396506 647824128 788202619 937509107 548215636 432032146 875350891 273729877 810608411 247808788 502800477 615251913 802712745 476304928 165198085 228535289 798869914 386256826 318059983 322923737 585507157 785899462 647398754 486127084 594064866 145533674 174914333 981148397 870145650 492131804 586288477 569856215 635004563 772532618 253120247 831511115 251506646 314657373 975992701 346612426 621372304 108485590 348102248 297458194 923293342 677218882 813123333 963488113 105062983 335721161 438972571 312533195 254795631 894574023 195592037 403722073 666201075 642635222 784330703 622314509 950533419 499578247 738917455 384984631 106569629 845223633 686175276 558663779 837819363 733963846 815519647 879414353 811808428 945962091 583301832 465386183 797906633 407523387 309149871 718602594 117635723 907541090 494782354 567299930 271764678 789195619 570654108 652521288 231656986 993846856 766314580 103756533 420292864 238071089 265107853 726039086 663967229 379910947 817305996 549254358 621013449 973315597 608741246 646981923 813426999 770998785 416888853 838202500 329157505 887421050 313411100 769470847 758512168 758648563 906612045 717358078 661546243 732759190 804985937 425782626 673727811 796470169 911579769 787462665 316055792 174302459 879575550 213189143 438616281 318033936 445661685 623242313 876636725 971760186 678788050 516771509 429050480 891725155 595283355 921507978 126560006 586327426 387934188 402449739 244922975 282089881 333918589 539932224 556069704 808766382 951205321 905747463 165977702 389440156 391649894 861767625 315354169 413757202 617084020 268984434 846501876 608472952 710263298 339089386 724251623 765509518 987632931 141391963 902442376 749708259 116829256 998674795 153779884 721679678 606476755 313683067 454246039 750649710 921277655 174979537 920242979 377163040 336292478 270595084 478861189 522806201 949729334 323490263 830067560 728654876 330399029 500462136 489532184 279929858 306282462 707962004 813367359 133225358 590448383 368874693 528798968 201540145 533497093 941363755 766412985 747006468 610303834 748233009 726229296 590995287 313500237 301448852 602767950 400359783 551388031 630409979 858479427 601475659 530785643 164951482 677990743 512454876 903466409 173619613 131534826 644627045 103374229 815773795 744924993 431741205 237788289 392199841 260055964 325813256 313724668 826473857 503419100 234812765 723783495 642539945 620044108 438092094 290827208 400594872 516201465 758835773 190491078 574846839 960643364 275175079 831709926 384728696 913188991 816661295 656300815 867980666 878657232 864130730 149136136 974240970 406076785 380030080 993890538 570734847 680877504 938456898 658114852 121047144 475676344 535656050 387655285 441422230 373868722 735337332 425931608 306247981 383841123 362410550 740606577 868764119 764232219 318248482 568252235 569291647 499090217 809634521 691114274 972024734 834406436 606830380 871616596 572018024 386189656 189544296 637378887 370520942 865492455 569444340 253690707 721726786 996950440 871822766 242151410 473109948 616674707 681664685 705118130 204183127 420988834 673635041 570044267 888621061 703677253 117340379 608459801 647948180 120189314 179270202 581757415 719900502 886284716 300664737 163746192 110582934 197728974 610576603 751226066 446553096 379295855 626976470 618309654 578820533 539498326 735563129 749374036 905403282 786246690 463398580 532620645 623100207 507072203 679527950 275926702 548756399 253603891 767816711 633476660 979862167 152485280 457684952 331437955 516325118 846457494 425857629 174954930 902291260 587201878 798277807 604051033 715640454 910871061 685080035 987492524 524867658 802644086 116893474 258940650 381170839 332482766 604867137 672758249 971599586 321065330 456430998 388035192 342468696 110539518 880054172 586429406 726851919 867775164 319688326 338478293 119041077 853935982 649414525 470090582 215600517 797882122 521788104 835498265 759166520 311951507 450069489 658011996 349478385 847802832 105661218 738148601 214043454 585813386 763824899 623587639 316342547 261758584 155640884 887601481 677534737 864835160 329364206 134806209 969501305 616534290 841494936 300253585 539278125 686528745 757016944 922937296 973850519 400956290 597680768 428949492 483982813 271705372 276063297 387164763 429103396 277570940 669424379 484538848 111469413 991424250 740978396 944687270 773660385 151780588 830380533 356520124 127427338 301678383 802992909 772845634 460930391 997707479 111639525 914150872 135854946 238587029 161906577 524357969 126477014 258974880 421225162 842646262 962398866 822194609 672156340 180928102 292157238 703323869 390341237 532376856 569305195 675496491 775436306 678581281 764928980 187238523 292714703 467423820 549734772 128823669 708159322 668368638 285169074 101632374 382755010 652413965 495482809 523716631 741086180 385905700 582294761 867091368 876146787 622735403 400386780 552195048 671816115 776931363 301492599 568775054 379481377 129161663 154160123 942898563 885955794 630375270 943756263 660867370 252864852 640306173 773433256 821896117 997721944 469473866 555119046 241470356 504519760 122491502 583052771 328839585 626351035 657627320 174099059 666158762 161683310 262309647 783806494 988218119 414442710 745055637 215693570 874657027 312989109 714665039 208778768 994956066 672627941 332196404 671515058 172412119 158748422 101575047 354536195 252371723 270906131 445134382 330216854 195403632 234348233 848017618 336688045 402157307 488161917 631325438 193151385 870350454 209278678 808594661 623724981 817670135 635721562 153306264 120297614 661569747 179667253 928363037 811976568 827592528 465534479 675633458 445777721 161116203 192654345 242953531 909109936 277925556 993112168 426395688 943489056 424447919 159923447 471045671 891288277 886732044 364283200 416099454 939785868 293076701 964649547 461148267 522046124 732644206 178276615 315707745 944997007 357447585 184244651 829185712 128213541 806836712 765492331 928028537 418765692 335131466 378208404 738747084 548343282 133980520 630768565 964448271 893602842 770081399 779242464 488837617 926663513 433962960 784366383 430339632 598605476 944758624 808032195 591490584 381152062 223232671 620705355 764034669 574281077 725627585 291451774 108807111 601556317 746006831 181918684 509108423 600648013 123311707 644851626 188443821 273956609 931743259 811850691 555901766 705670255 806183290 883613425 107627378 848439121 343402862 189249011 783503375 733279815 806793584 122253900 935444811 749751620 967439111 643341863 984815483 551817721 890561589 592058421 378821056 380914021 525032342 844482362 278659447 843111319 295382964 656937332 747877234 309064391 418830432 643635094 766731611 114336462 611050362 329913816 514711226 240119404 698742795 785008222 421989197 198971124 159974328 222319038 256958673 242237684 234206800 840614326 456937535 985336693 881201196 333430583 363451403 768633871 374250255 663477404 833639061 741832638 476130407 714264219 825007557 647841047 873374982 882180483 266515559 790557566 414751702 501932137 781435186 136958963 959480381 489800896 994989149 296798343 730913143 128862561 664505693 938792358 961685915 466228365 287924602 220365976 339333572 502190809 913892215 944911342 785562871 730583295 143145938 792607639 524858057 175314973 401368483 998727077 641767058 620612031 531800609 347097908 979209790 741161940 407744184 160173664 134987389 144901010 311630762 373443174 453034923 412484829 324507485 460176186 954780375 735109728 153820129 645841313 420703881 893933664 832040011 809873148 470621655 821877907 448662905 386789878 625515211 173713202 322366929 128335963 220416670 531437965 707880744 295953022 464583028 913902440 239541346 858337558 245532930 939784944 272326747 684576499 306766067 111019564 971499761 835259384 194536528 985587105 646355898 238472040 200219750 909082858 165806161 180823015 269706784 320729405 280797559 236020235 170085798 188757278 300976591 562397792 368259014 755659592 969524504 283316959 577948014 928533819 594209380 110948700 131552551 576671889 104960380 639032591 463904897 968010251 540582389 617275283 360826106 972095125 382190116 317951476 218018677 981519321 480144372 117602520 256829413 198677508 930808844 471972628 416140864 372668923 667327156 411813508 371462771 705929284 556763461 454316139 174561630 617688530 943090306 275585019 184125775 181713592 584268423 433142343 404548362 942667184 907055426 278139121 921532004 716842864 889234702 555168580 586673346 766651097 694625592 999401255 331889077 667418579 391408153 657088400 623309541 262313937 766539421 584489678 737760823 969556074 348439727 745436816 542221166 533494410 223488108 822115280 618567349 498905294 550173868 133689248 952500110 428939270 218043444 899465893 835926134 850188904 777909887 164747644 294996513 682861356 175798894 650045602 482759781 728664908 744209750 728136508 749236462 648613810 920757604 264097517 485119545 977637237 283999367 285214119 914493184 512270171 836972831 674095999 262265427 201724354 809316213 886253361 691470956 415071937 471290169 907222860 136067978 680960776 295651229 556276133 209387891 146496686 690590750 470617591 396475157 672249909 107842773 413560007 560817129 424321141 586273903 212568468 734966443 479347536 451833255 410720005 140002951 963533245 860280155 342533531 967431421 416511218 549930890 499746668 246230229 649597318 423996949 528621508 176302547 827867669 370345656 874040117 712940057 188456334 685568622 481842655 280980834 379867296 177729601 995210858 565833186 634126135 299636959 964777083 771766266 592841325 671490429 669454847 439477784 502597664 237757058 830849460 288047042 579751818 925526901 548521786 491395848 553596940 216086041 838414874 143752116 494126345 290351410 912296918 521910888 915968060 215104644 929544082 853434241 830963506 770744530 945101001 966073466 873108512 890684588 248512404 299018833 929142647 355652846 959419541 195516712 450373562 119802631 569845232 496920629 328984096 801963341 818923851 559750054 939773513 799995649 720417938 257038205 894567376 104496455 344496230 700015334 690018768 604715365 453020045 951165325 325405153 738626039 818912817 240875747 641527316 772744067 228285382 584562742 268659774 329578549 950411706 394563132 986544778 791745249 615257172 141677622 696135093 801170146 478126476 885909054 249572381 394211505 720417047 168986088 344632951 405651230 597465377 855870080 446796641 449478058 180782042 112942796 300262591 391678912 164078474 680466370 848754418 189790764 572694975 858736227 294414493 122923269 155119754 601925747 321827123 688644361 504852794 671156084 425492367 612968221 154333220 908026655 958635093 274280156 356537507 398297547 274663180 978399108 459773357 846493667 398805416 185811871 416784565 656984079 178466642 343208482 665995151 471879664 583511855 499337518 797786673 452746797 202959878 345790575 641079918 947942527 675960139 272593408 631925336 382057986 851593566 146954241 968006897 885950960 928292739 985629976 956605981 232704270 539850459 691848854 898832797 638696474 418699864 865079998 903966431 790937903 401039680 964244725 896016663 506685142 351132934 966789011 501467828 555367869 769429843 967312086 985945952 425887003 413533841 584751417 220242721 217803499 498170069 240391144 974940716 540811988 991238091 363677629 304195929 668328334 372132415 224896054 776297558 310579985 615164470 897929083 915585224 810052527 157200916 283785188 806139034 814578986 574067887 482933362 794522575 895876548 353074808 395250424 516887900 448662213 985925789 858323763 769624030 286188594 894441500 123334318 883115707 786419765 756100545 610594409 609739080 645409549 874222430 456281053 310907962 224993037 932295932 317377086 838440573 594338398 733596971 317152996 237833521 146673923 390363198 191946074 651228348 886755202 549868156 215420828 900364530 812581097 683805347 438396671 190177895 475615639 842239101 796630627 801530806 795594879 498599858 987871472 104996590 746578540 117245848 617391613 435352622 870189692 274329025 600267341 998334485 365272141 728582795 704223246 162852294 713020368 817735742 243384356 648956319 600493469 968948706 857675879 258359395 393219040 460841280 685201959 567283580 187122902 849776052 487328567 946268622 402096551 558710699 389256018 590908332 445404024 657655854 460189162 649397653 912705759 284439375 239695598 425541466 779505904 675839814 883901116 718050721 732524056 679970171 644628375 476525397 497917936 717047438 338879918 176283265 843320176 607162578 667263466 659397856 814560462 564268117 444252602 945511044 304183003 664390321 620873432 992905455 694949881 306951618 746864440 397705061 967109849 403972052 919168857 904606681 419597750 569448491 677337873 729892365 644101092 125626618 486132644 652846107 577829752 476509367 283150510 293220913 434770025 342797733 558049699 434696553 755663140 771954906 692864940 219238908 261057926 702753848 519529896 795240931 434436736 299370156 609277714 547399266 206240549 806676196 762147054 774318799 571896645 516699152 322075249 116697340 958596437 232351026 732227589 743438646 181373324 615610039 869416673 495561143 745233818 251223298 178721115 787532381 676778898 966021539 723152122 820302296 106945160 558173833 595604722 469936022 467007383 506172622 104012201 779404225 585214205 273480624 843808542 297711046 739404531 602223664 501381549 788011195 786893802 834123734 721933627 442268407 158673412 998020841 610672433 159571521 533079915 302273183 610706619 244054498 906089123 302805421 651897203 168376922 973901265 750881616 268828775 451721890 391524481 233981303 222689768 561004676 100886106 631689120 880127218 854623662 375747343 998166900 536931804 657268081 780288834 482930460 557107701 959547689 105777765 795458553 823567260 952716136 827947763 236463194 677133120 219753729 576205332 782161025 356210116 813542955 117856969 599127354 461952780 176801573 451719112 221590111 831477325 514297917 543399510 461576300 181523683 248136464 569043396 397772769 251094643 495039535 947707860 756606286 802808473 933041231 974310400 906811815 647195052 974328964 139320885 428987720 990004252 858032904 239521153 417939053 760713485 277552305 542255476 160436404 142661527 581752583 396982171 392181473 266653797 245738857 241274928 235233500 728324149 389066747 821617665 361510878 316973097 147932918 205797084 454632532 804159209 651168953 732097878 693676030 138673836 423227199 420783604 976322470 649006252 501270803 741831004 142411698 234541978 423265881 405442970 747649255 599489021 899272696 564086865 544754710 370663214 841334733 253669708 261846932 256608695 626739662 746213780 454215365 183084829 474364387 189529245 938554680 524319616 548764463 898335534 833982552 764393533 316629772 983599309 357566129 629397236 596918061 743441009 290746875 892900021 948625650 979607949 822982164 355814628 768727356 805505656 730303914 136528856 345037343 230216054 511096031 954626743 399360214 228331993 832675789 854424906 812304516 930587696 203718769 457419089 387538446 896104560 132719453 912694629 446979020 574962232 942376493 131965892 473144928 687028742 306536535 991406114 523517948 377576323 955055000 922471418 538829534 623361199 230525884 141151833 809369625 713695421 225857685 555956206 547030504 579801821 203256204 876058640 566204083 223404915 152263255 187108268 242974316 499227664 422057648 279634342 403137397 449690034 415781109 427904572 580238185 773010876 750331382 747332495 415942655 347705949 748252898 625360534 568947443 517524734 330445199 714162543 351686203 289084882 392899807 533640778 888487816 113840449 863842270 770369880 683702048 158978453 202085219 505727556 375075582 935462642 630607424 905725774 849717671 417453605 227677134 401833914 711193893 832785026 144327789 269250479 611777526 862797744 634256829 145616432 299964119 936289159 205707666 203793174 835821942 373788427 306738376 259223188 606104310 207587726 257153843 366397128 851791025 916100412 864039209 891410122 171823859 528352765 699845260 110928088 904088317 640082077 897860543 927221585 288103908 900644086 280076792 404259383 238669168 186273858 147148523 638358397 527290249 612401149 374248832 936389999 465205471 425595936 622478374 173997131 595183380 286503758 271981531 564246220 117716573 973463162 243592548 466785847 356779212 338825286 510731001 985642402 493572023 656284112 743394290 328434677 360616942 957171222 869029435 720336638 365639109 353301572 864165063 786374511 186472477 869542930 461832584 386592338 694354591 439149735 405775247 461237296 253642648 396143586 543794518 255464088 970870271 121845386 273832864 188527440 586794893 181429390 907445574 881133814 325938489 186740141 111178755 893765095 521795105 340689641 679338947 203965862 503667962 855999234 671841456 448720025 136621049 747572736 317387632 720921004 662600874 148045147 696467501 684123693 381609981 733473183 492031791 811888761 671376735 879249659 529467012 990507360 507666581 690372013 507008681 748576188 548082822 842899802 650686345 878569337 925225894 439881610 199126541 242038085 709231137 244341589 903733366 726467596 520505177 626382904 784305053 815252502 556083697 121745936 167500514 105643743 263418743 925256230 471485959 449837596 590899307 400056625 223873397 913677653 500317479 914799231 574967616 679873335 137098059 177817440 909678951 190752666 620183845 275768199 698519188 220305534 427522359 518299793 285979965 304272094 815406741 468616146 690162331 198058060 406173833 185438002 951329317 868357668 608668052 338036719 860370453 306514183 149014294 444419309 602898014 279872029 684496445 520133097 634189239 271141101 239548973 140692825 652308990 979160167 484666380 235415698 703008261 914245221 813365697 254359167 797912013 179689327 121832521 824495871 726983262 393390790 695182468 122803270 369749219 380596139 706676798 519295919 476025487 708503055 122994676 963356822 950392798 492171054 116914190 446500057 360330222 154189369 163747143 681963383 187410804 382307415 764861930 477975843 567454089 333156501 169855263 730986817 801314022 205943404 839658368 270335469 288634049 799802561 587458211 928447317 458818694 760547822 249314422 846593579 825001789 209017980 550058457 710788018 647985248 563005576 649574979 831024344 235995459 889097329 184898868 337314922 589256725 807055533 653829556 454397162 973128250 724221429 320796893 127231332 651808318 293704226 410245002 985827417 532055441 821364377 219549107 612951446 126885406 327140332 648701453 693960498 992078485 333511326 356180134 980576312 553452397 162570814 282169554 636409539 801640176 956913708 269477854 403303853 188341315 271860250 506629260 353798940 126909091 140285963 723358574 700518336 529319766 501150088 194959870 394830747 145303973 446932668 325064375 372776134 452067357 789871040 768903142 559284880 338717700 736703789 132726620 225175432 564320579 796530645 952227107 536002157 463186768 677844483 191363756 586865189 839333174 463037932 668602462 166198749 433509890 789663590 162643803 329441502 465284189 300444146 753347631 495841244 235948499 243563014 558962309 536400498 310432061 660168277 517640731 273344251 685148370 315242983 712940771 721291099 955628331 166497948 558791847 971843227 286741392 962865715 789066144 984066111 611509777 781467964 102845911 859908383 580679309 391473426 238729591 900897286 971633193 622852036 734372453 357734458 108727956 237355823 311997205 996619090 979613470 942047857 564466354 273733379 269285404 215509149 860643573 789352503 180656479 531815050 375460326 692059813 277915916 434566278 645431524 405176653 457158176 433738332 403842936 429135838 968889689 381629365 198846461 577213759 329597648 928349700 928698723 613482402 164839039 597154046 755487499 427588183 746510909 883386551 333998828 293693300 393135650 282705271 769126705 680507378 106789683 977721805 660861246 236080992 490118100 945111132 334452491 234395514 266232496 888187200 208215211 529872392 337148586 778692495 781777097 606968985 602768665 539849855 142080701 627978507 993589030 775853411 183303913 247390884 973299362 651453054 730710659 427176376 912739029 717133131 947953362 621229590 584847711 504776745 397682038 783574691 959305411 762204489 921831819 748784958 122411014 487703842 537070357 922910764 795818408 362319004 894227654 581705040 532934633 553143552 522030798 304097934 715775286 384062160 609342371 470339803 398516305 680351309 227857354 499445844 434973647 384501656 875730712 521647601 121001667 112472704 831066745 762970470 623066851 606358195 375836407 257040060 776781440 627103619 179212483 605425720 489280928 760069173 599417720 582324745 500814260 848994957 248685033 887053536 551000254 830208726 328539913 919564483 911612880 667785370 407811446 498391814 165234415 746213709 240790620 815945078 398810045 176591693 301407326 515145094 914388865 629543997 698407038 183499431 288350965 960169967 596259973 788494961 458127453 230062256 164358445 863346915 831510135 287635383 742443547 433925156 117613313 633360060 908489171 193209638 499784004 741153665 500215827 977704757 585210387 263915491 736978292 462902128 939866972 321652030 731965561 774404084 298490328 205166691 358897670 813571188 177950117 716088484 493135585 772494209 451146850 953643908 874054934 395472939 240592534 320830644 957213742 709152738 981796313 120689970 899678312 735613222 615530604 763653045 508322713 442071394 779706308 210755564 911267062 692431683 403806071 969170046 686101665 606178020 582512300 157115543 834524371 471885237 361808736 213899315 422358516 210999866 380105314 378505628 933041100 868393480 503498300 756106769 357028815 283158806 173429264 774800173 820969733 413542647 845576794 504580028 271584290 186402873 509736652 754600859 724345507 365132834 155882775 944609933 395229922 492310569 491134780 822196206 867688777 389052643 672885891 716537879 428922062 886256158 911952971 899285924 145833002 248103773 283340540 852992995 213874725 842113973 623109613 476931892 604620076 323050706 592427161 476456825 135429319 941872056 597461482 445711546 395100891 201351405 501857748 900831307 795467577 879169605 997500368 427231030 917694993 246867147 591691347 216194069 535280575 621126692 721702280 456597933 473518727 435142182 710444985 667842888 636736143 177319733 108286241 343018948 132257557 585493233 673452763 360764439 750285309 285671671 534958334 617333363 895709006 796541971 907530302 174639915 986989270 972651251 865979740 341874463 125483445 788080713 550239156 230615499 278439898 475418668 668710782 654760898 613862314 982746897 299268544 929497606 406176908 885634787 598442799 558413323 320513058 271761333 997066313 290811964 751769930 404904252 918382102 810602296 968953214 711169834 661163048 556355299 547036917 893701397 850898204 776570429 592412686 690321402 228743235 134586813 449577879 938152493 703439410 418188450 267133331 986493297 230690183 107790656 911926878 193360552 326367818 125905028 169817385 380169067 611032189 922414662 859363793 552083554 995518695 579443382 264823148 517095018 492566421 271220267 610984371 425548188 846612080 688072492 481801598 675043198 145575895 733347575 260228001 105235054 849970494 887087880 641823243 655953717 659967127 630675399 819659481 287312645 261256100 993136772 995775627 640482782 851100395 263681651 595383634 819816142 662715103 942917130 654757276 336321430 525906804 829142502 732642534 658431883 866930145 186363590 971067755 317498566 266029685 506891507 555533789 394237859 406530805 143203276 459633585 673689662 537807505 206609690 208927964 216197869 775771851 573459421 910538359 656130943 543196469 716223973 604512159 847178285 676755211 171190037 516989286 260216464 473178618 141781888 350952114 266307371 269954407 572750137 997361445 941415873 665111528 224471787 102142663 389119532 467545005 900454663 150678023 504518217 644315825 207557494 664380266 982527086 236526384 653565250 741356062 728436363 458290705 731685213 232160156 729975902 187467710 593689709 737693381 900326425 769536638 515729759 949562516 550371469 701070036 966086863 221348844 738211639 670430462 505522934 471613501 656107022 567973160 772145360 628723167 988630161 810791852 823570635 446646024 356435314 687065111 830267247 373168556 958115469 415314300 316141211 434657159 366656890 183727807 897042148 328106306 590497160 661009135 244360628 609529534 430137327 745327362 843248600 199633599 345744112 685456339 529160821 170949840 421091533 651484296 965907594 332788072 433380563 759534517 820177965 557185344 407130032 210804010 669662001 841269644 544274926 191460429 739712292 253683919 749265967 491939244 326292795 139568211 100082840 733594934 950235454 419670219 659420504 438234702 594448310 747714273 655181910 883937209 335815134 880264168 637738171 193837357 117959094 104762743 930467375 468656978 709267804 853367132 656945516 429940472 792379376 216059571 387911759 984866156 487083073 491682997 863514229 184429358 437100569 769476199 823346142 828894609 690948425 768042350 260052725 658850927 102767981 530258572 336675980 682005206 227013362 530983188 307521230 266847775 172501686 249658569 695394088 901797686 870045590 854405247 269076152 937367795 195138741 778710186 888155462 583726619 397006180 586219175 927128718 520570463 255494665 458849367 502283559 230568187 465475550 211965562 596780560 424654427 167379046 668252108 932986861 649692914 203444775 997392011 800261271 649325322 741590321 333285597 770276435 609366958 115609841 625414858 558991427 576558254 869326257 284584005 175614960 244900795 494171114 540821904 396057758 469546794 623035035 962981346 961392023 124157667 499818545 768397758 340072367 647128531 307133753 992841099 928971116 682590358 907006938 720582684 950000436 573564876 919034391 949159699 979228900 592383940 757025488 904305163 199545550 451068575 834141044 883467523 240817837 573916830 573276115 623406197 679935168 751825293 119062040 851006189 744866102 139353396 580140977 228424886 767383076 644383626 662729532 219108907 365411481 656000720 696476328 632949152 776365253 902257868 807315998 251059405 668778057 771149247 412062857 281529260 106879508 423351279 904872808 250416334 349704648 287653947 356132631 159885260 720843862 197977237 201550450 352490430 605621357 552079116 774466847 716338037 777812744 972305260 731045003 817017717 913463966 805559685 370150253 465835113 168098341 575332446 379540165 126867141 947325237 276623146 331664363 831283350 762530168 750249425 820189590 613022009 103466947 668358511 245092036 181815407 823429290 332788380 426981415 137971212 831600395 705003487 143685044 996712828 136487012 531417322 456790035 855715049 783904169 682117391 265954776 617045150 266715079 354667828 973402329 331951782 382920510 596212855 973105136 835447917 490846301 397731805 810764781 458950403 431156268 400812991 134406829 973888588 570516031 761621809 745175851 852827894 988676119 712801112 600477741 779983430 784532361 948806128 634267818 314387715 966273363 163379751 254616613 268630071 827626285 987235140 685712491 791304781 867162664 515128404 410535851 427130539 928016096 391835214 901428761 146531010 747243947 457274514 521018001 844085820 652871824 434746646 641952274 392338580 814860175 558980415 862587366 427665228 521063206 860923118 494817932 370005973 908277961 421233504 384339204 858981862 454570856 306418750 880734605 589430219 737033659 778892081 925519682 818536714 936990321 249700329 851877859 816978589 916688875 246333261 110157288 988922873 700271687 428596143 267709244 887502837 100713353 150745516 891165275 286124248 272823423 954798383 134468201 191078505 672411410 337594518 704619758 633569785 341710693 954823385 403638997 622181277 446109509 112562606 461865934 584424936 537827563 546060998 849863635 639108401 714775521 933107410 948543568 429200457 967447471 222638972 504520512 994846947 502204972 487529220 448345197 925925710 650982477 283040464 916924785 857970509 213729641 822508826 664805217 926795985 943741188 338300231 723344492 420776176 817416721 622403183 626958643 951994048 286562711 157000561 863968114 897120536 450018651 771800853 976105214 474801023 224164077 463860315 174137735 764393978 150970124 120538198 614635347 264434966 194465699 332591107 814043958 375309613 843129685 622313192 229323782 240926982 450560072 480574320 332873550 872513183 140632434 279050987 107431609 268414458 994284210 653605533 871295792 749587547 231312250 566231868 608123173 635624801 298430167 780441501 250452063 968627644 452420341 876717834 200371767 194651753 158471200 697462544 719613856 370549116 351245229 353937338 391411070 379201588 939902115 513702149 907220460 787902230 705536264 562201398 974803476 696573939 704101185 958541858 279980557 539846785 574910392 940751142 354279896 237638903 861192266 688603112 191934160 421615187 728951611 727913925 602645876 601575864 367139331 468349307 902269359 691625173 470899507 903824822 408123062 177789135 587685813 458588845 753728794 998117735 124822874 175597766 510015611 533761648 517531605 530369409 934790642 995975939 614315008 442656134 840337844 486418655 778507822 969753611 329658485 333583670 875415681 393980467 284183875 655839859 249741657 167481536 163465145 283111009 208411249 656376826 527957839 928859404 548566147 789179174 262648696 493413866 520635428 462999287 863423416 598074740 992049131 685992353 956313055 581519095 351348572 592529373 887752476 895639783 868598601 999042668 960961544 440457683 119427057 992159919 626067311 552106946 587115155 607591644 981051396 873359798 835517590 649856853 153032918 236601333 459669181 563750682 795398327 154703259 634558226 782083373 145108818 752583999 772154578 689280116 374099765 473430090 693206272 117674792 862792492 506051607 998314543 426062599 353013177 270080439 879866169 986687918 418956094 110114078 522715070 612772554 993236110 412675394 847744922 194796526 588417216 767734684 637822325 490584610 499165950 539644343 718079793 549883546 770976014 853335502 825605053 439015024 389436288 475092432 521758164 166024514 797617057 726789165 221159384 719602892 912414353 385746538 138077502 290501490 751863749 779320771 392371600 991439441 279767456 980236651 650572858 233730436 474084705 691704390 347234257 579461926 683903410 172755832 513869170 844233040 580228353 156838739 586928517 941966257 981799796 979990247 317404573 577558658 257670130 842280136 816017042 644144654 522894337 762461057 659941252 388854498 829369696 498864804 955024695 333127483 990087409 204038674 954236609 618514551 814043473 635022368 621960787 560039005 103179154 572968274 875332188 859240677 410457773 856101505 896784268 269914994 568496351 825815598 260952196 232338021 534041347 236502611 201116755 178249031 772645965 280449992 226737723 328682232 637132322 816206104 460186879 691967912 629896197 277533155 961415469 951509610 404459235 141243309 438545420 257780980 535478183 899547234 530035108 223411984 679920162 895805745 462476991 772164318 641764168 113948124 443851266 192830704 288351829 555378741 300300698 577810279 637389258 882114242 192896835 132877679 771122904 945081594 173994736 986517628 275410375 468678485 962062627 988035654 949210796 827684167 742038042 622752239 875093059 238180613 246932967 987699013 857941480 149851300 427962384 659351919 283421242 160807838 732187668 917442056 834323410 469714781 714349767 754631390 172028832 376331702 650988425 470628351 111247867 499696084 245846013 998782258 746309051 968777189 311377632 895408059 826373865 687186145 161651662 199790822 701833914 975196732 985897648 637009345 101449852 125318655 964208063 995856598 965537086 503439198 285782968 947032619 670221350 644628302 646540628 863638151 643318376 170973933 480509389 864381646 958369941 808108994 702353491 816308304 254916137 541061478 450625480 574796665 532869707 749894332 732474623 308451747 362580273 740635451 933824748 479835310 671501795 978318119 289598326 140872127 964354127 626426595 630251097 218098671 610822706 138919754 973245279 129880506 228551614 853247279 551655765 110580820 850946597 524670377 604642901 919139928 531851355 746645330 824644511 550430632 259811823 830386121 118160905 625525009 381324794 745236449 600004419 543462312 291945994 707160914 850955888 409514430 298466600 656964112 726597010 838022196 759394482 486843285 605066453 329234003 939264438 983427755 178793181 377668011 183821734 658954667 513213618 837458110 543392212 222580063 117736181 661288750 443013028 842155618 307406734 951881624 693429858 780870995 218102344 317854763 930271675 748005483 464903194 604134805 610267502 157367784 614180187 197425698 898951435 794823279 541612819 919231302 197040512 585240151 926130296 499278969 651230221 332011178 744133506 307892302 622229773 663615104 512736699 934380442 467802148 502102709 772318737 256963535 578556659 569973319 655802973 670269024 337244615 794816128 420217546 415383991 276586250 122800377 571350949 294745685 199912083 654247153 723672042 564708600 550279342 470991743 510790096 128531094 642704221 994783544 226489214 755220059 187485668 754133451 164037103 636523803 328393965 708962776 342005194 694100006 482101866 736879202 884316052 848051937 649887202 856227542 126126495 100820630 895894582 857859794 578993674 351242511 776853785 943940842 965576946 484184168 180647025 801028898 136024572 941256167 998897672 115382196 299668424 426170166 891768546 587895930 690780794 684434959 131979679 532725079 969108266 722112173 798902689 609962116 691850014 277706746 972201839 872748943 232138765 122783683 860261936 461583413 131939100 819273172 835704176 282120189 656126277 647963541 458903426 859547272 221450410 139889218 479951386 824668195 906487999 238548345 192765347 155408510 662703549 727151250 127451700 259635374 160379044 774087879 893947307 185184592 905823284 576277155 337440434 904750065 615875088 520388790 840981962 845500727 563348938 895022958 199851107 942861502 205322761 496976823 987030787 338485735 733885971 504373337 676749387 196115318 746284913 497664057 682023663 529540660 397161205 642923819 176543353 414664555 625733977 752719617 401904294 462459746 409092178 895358218 341155755 915439910 200144610 660220618 318265378 343773785 710761731 671346394 274433066 495986664 616300170 744813527 588663112 120370121 570291768 761545808 407202062 912350450 615339634 759728611 465505359 175778020 655860818 266208941 305439015 994068174 970048151 946275095 437041400 263359878 954374986 337862510 369345019 379432467 240049495 942455120 291680625 832452393 452543739 357432959 135219294 334048005 911005323 779837736 804995194 852069681 390985125 713633890 904993988 187278189 431250700 967309737 562522078 214578571 294593107 291172713 425137839 198269893 314393139 528241661 698513912 416702025 616157722 910993373 552080972 351829895 897421976 666999410 981551833 472188493 564595617 434025711 264982148 719524319 879716130 505627873 461151514 576111182 178143340 833530737 134894849 613593471 683872412 770090334 431610677 958368244 307258855 509895494 761730505 422257989 387004570 796182220 607824664 945710909 349686356 477513806 769523795 425912771 205797266 801308574 377006113 509638719 311436859 316480023 680360699 296735030 849362951 897348602 519932243 155588173 241853955 647547899 264031449 820960865 958863680 829677911 819491042 627400148 576704412 524040652 308161746 612429782 550278908 485275217 431588214 688806012 411850588 984659237 226508742 596087494 885184352 178246325 588524347 889533633 910322869 698337405 380676193 225462617 916745950 885206776 355116209 921398947 184476346 334620888 799707158 452243542 923128450 524538966 455919550 477787836 192481484 442348438 998321585 159742652 819758575 207996292 611580458 577901669 744236548 266182393 917093825 546975349 938060872 489891077 541731741 518949955 104476761 341925463 673593095 492794720 143222553 657741735 633124954 876199230 585735441 961766454 821515309 517752937 835267273 203932956 920876360 286818874 209370379 365938642 196414501 497269042 719745599 941668991 741382699 933581707 263365431 924769139 880496508 913605392 838531477 299768502 887309262 336264133 963261119 986630701 273535397 457737196 841804706 318116864 550271023 309066214 114378535 952266166 283103965 375784186 162317047 868508865 791746808 306124217 791129059 287383849 995388489 817308450 281330168 304201096 612731949 805792891 301106849 364307024 774603743 495739117 455487107 695947036 749040928 569665620 441414733 558149418 161096727 429629136 644305100 807989617 376815369 100276980 347771732 882341920 360590004 244226439 629361194 792042062 594208016 271805927 296557607 872880750 951770152 938396783 762802758 789307416 147596857 109353295 105808602 530836900 294678863 569969821 199500823 403619837 966299173 532476549 966503921 367798154 807822764 462733604 509767824 246704095 322133707 233971665 754463584 691225215 443432736 571759114 656849126 557839561 573847603 670049647 937142859 500481995 183644864 606494499 544928163 717431961 525500236 492940641 275299636 190564738 712368879 262583038 521926616 152572184 729272206 502145249 469066079 226071071 605774481 925412962 546669614 860642670 502834395 137856081 450634501 999166043 409635549 358801387 869495862 519258652 103235807 674317218 240713837 153912319 792671942 927870067 406789476 282615542 736551554 828480561 290216921 348681555 430089228 193853013 762244121 924266168 122651935 184643425 704087401 940747834 370555723 566801550 275984062 815008178 711754938 407509692 540774709 184928232 660012551 876380515 261142716 417461223 402014554 797063592 204779908 663876883 256305853 880802412 960597569 803767357 974266733 687069010 296609263 251435714 153358677 521011654 342850956 997974688 405052639 437551507 490585109 238238211 194560089 542166534 122360896 572268721 723686511 743333707 233423099 179361033 868576072 157611306 531098661 665616033 573439597 478082259 219852487 229795445 714133538 734846153 985272539 585527637 209934032 723355250 591592120 630565282 340123929 209332565 836565709 317270748 694861917 890740834 738844115 939181454 297293733 635389270 898523579 871611927 783775072 251973716 678813320 582429894 949754069 975853878 809941896 219357806 804266694 438123512 616647420 907607655 692669556 791250406 191521503 277703295 802433336 368563240 439700470 723123486 274297081 575826240 438158082 228751066 615632956 656639066 137194985 732118823 620086479 238206047 931749602 453263854 507387443 144585502 470617575 365750391 342903530 735466897 963287271 593940278 669518104 986644488 984723383 584633447 618758309 844863364 718190243 998047608 230439000 963999150 943373448 398534748 907669836 125122559 265600946 567553133 919542131 640021237 375519948 140230105 840359937 897126770 373781035 775173066 873994027 724262612 609482491 876799080 168259903 273926320 251614268 611433100 431642526 301416690 873142692 408842561 900654203 609004091 138428377 357669454 214582761 428559801 893056274 560190671 947446029 210165472 741693334 946854801 138540212 635931550 847478384 366988603 431835889 145380464 699064796 679968885 986701165 294340157 915763542 508075194 254466677 148371654 673292517 390710493 990226582 302150141 827760652 134244922 715434594 301050745 846325003 439621690 695399843 155808666 473739575 136029920 787264691 928936890 237475520 801128823 945416609 920069826 801831392 490915187 209826382 835085236 471647004 284104241 756417825 712172814 505404536 391694970 100006422 382292836 510414710 778823793 704738897 807215552 777514465 986214845 505527487 621569094 162724463 715348037 595027303 152767960 670870003 206921775 595935134 481321213 139579618 426418422 532114969 376560154 632046345 578659356 447627635 992079133 264270321 482420576 474207904 496989735 406879022 695618248 393319976 649321982 159379021 426995041 244690482 139842408 176395885 846040015 429370992 994534311 862572548 924097174 332379959 561431943 527288699 346470035 820541953 218157172 134355222 580575646 133567615 304959998 505013438 338566407 347045734 990729448 176143779 384962747 329959638 618596734 897633826 786522020 133526917 223849908 283755586 597552227 245706419 821272666 366854781 896841093 535055662 465110419 501212500 461451573 643761332 472744869 833971728 697445457 971250472 988763164 977875026 338285657 662196667 619035143 393289593 943197167 921041481 772332070 674449147 878527746 791671976 845143462 610516152 548059222 251370483 837653481 730873854 535715888 618598841 323877223 214361397 137590716 408229446 950663741 849895272 918407862 667771265 372551602 485865483 294912152 476839173 170961320 382814978 204025531 855055281 887096408 161275152 308784938 563430358 584619765 557854027 484436163 331534378 597322873 134539265 568169595 303948772 696386251 480858916 976085462 792618684 348385774 543368179 871295624 330292494 168389195 635693763 535402930 686496593 216416963 638124381 260889498 503531546 541210865 842339809 153991273 499743258 310516835 350063060 791765964 397124145 602916042 101149570 425041561 543196669 358531753 365124073 952754664 376631890 553304775 958912388 433076824 262135315 711506004 342778847 286818552 178630045 581363092 987804722 240668058 792566118 939898490 721612545 354642926 833413872 965374083 796026615 121515389 719154932 876987827 169097154 907494468 844557116 981233380 885435979 992814534 348821072 733753490 105690530 160937990 425088385 771879354 149846008 451976784 831090846 735596541 599155712 983913339 212625808 624168586 392211713 446894377 533472627 572524384 549917478 789754862 143731628 804527522 501422449 318791008 505980292 530450815 712043328 492547734 423976553 176558434 237278608 876518354 567926326 539937172 248821708 499435054 541624034 983973338 984849578 581904814 854996445 650558560 703391299 921674592 152284108 229543864 105036247 340263487 370840648 266717211 890283603 179033403 796198424 903449784 709307097 430874968 508932768 449112676 639862305 852534333 358650709 854207010 778298080 361691844 649630701 249333336 787194385 348474315 318065340 771104799 193531707 464097351 451637590 683957623 539347520 664152520 210740207 543215952 657976730 144638469 577076398 509771000 978413155 411670996 687199215 700639704 527463433 106766796 209512877 541843003 354839735 510503629 415421846 489223904 764775275 341699464 215130013 449327420 305634251 170538990 907415016 411734693 172934607 642099344 330349944 743887510 768018785 720638546 173985519 904805628 586031483 828070317 500493977 201998956 890502792 843098085 328136888 554033946 640131514 387914526 522231069 632325280 234911280 846966788 160411133 799279107 271644679 658126450 530651204 105878907 625696077 778550637 538364616 578829218 227508574 698474284 803450838 931977419 722783268 809886439 924936528 375004838 330560009 819594226 838281673 477672915 896449429 527573644 877882327 382047173 267948780 176031488 955447519 667044108 470740236 129278512 916123128 323935963 852679107 725447130 984809909 231518834 278790640 265844825 582332130 431339287 686973956 835148894 363564039 498337729 206707920 758933704 431224569 602586050 817405162 391398208 980294759 460662537 566766399 492114979 435464600 350131031 624534473 989897021 364676577 349513558 836518758 762549189 764922229 843274971 547368392 777555841 326307648 127832386 522048535 550016909 605204428 878812119 473460042 455866433 623390757 492173849 377384922 791383194 568538515 215524973 851091549 834908818 184399482 622604574 664947900 360225397 570242843 945940213 288872934 788605116 930525541 938548375 306942091 538054398 998726766 684226845 805049437 511839837 311397921 582172750 686632962 553296844 787456452 623646687 691027507 482962908 462766099 872540674 401974174 832360272 589009957 753884022 390570018 618899290 398511016 621819920 264423136 199834742 288984007 861584972 574717961 102375864 904211875 953399148 625632109 716621503 118178974 263633623 459210955 667530488 962163113 473290729 911456179 377694275 426292812 492333084 126556358 784809978 369255802 414765107 849350650 832472274 798812615 803197554 815498005 696220412 675894338 763483725 406096068 124518542 821466593 693234492 280467585 243837325 398698754 491428115 882199269 571280212 663033977 380686166 574132045 956157954 934560324 308382332 850781728 949794993 790269709 672747324 409798364 770836314 724271802 732468506 395645521 148804687 337438668 285469646 676471066 324302010 528600985 215657096 515648957 545368192 531749714 947429881 162398575 140738323 597780764 195637690 908584216 211736572 974099949 717246417 416809248 490678360 122718888 163221110 136657240 572643839 318682004 851149644 237150354 161233024 332500474 915709976 572856381 424212981 947510938 617794943 892225718 283151808 253561600 926019570 638196764 648526453 459962354 814698270 460580238 820065930 315022337 236291578 702239843 638990304 529386037 632662584 197836181 508240747 692582966 531549356 100789063 940272849 360360791 678151033 407646169 497898867 442897770 914326539 263219881 364865462 776944564 377743984 205352574 117889101 177958110 758480534 432383374 607899032 249119447 728570580 398098180 605179899 120319268 897847908 198035580 237711177 909972172 263365166 795658533 641854102 559421496 959074668 123456330 703579217 257513445 846843558 882030976 802877700 573434150 962081370 591636427 554836124 334387303 396486790 492319111 649432711 232190039 603676433 716625937 679412228 372916071 400037014 275846646 720033550 264334421 909804361 322084602 135063340 340840290 760222000 129928135 525777987 583110484 131221456 410440608 773962299 753122380 333154457 166802121 335423790 161182901 945255234 514938060 222756364 397239634 800916005 693094051 458122061 885153844 815609628 169446358 185384987 621456137 190559888 227660461 439389805 266654306 942494173 204735513 740000084 117109224 465725256 213398684 192802011 368528306 207100081 456212373 702021511 486429910 380965394 947294177 779909294 953316012 418308703 804696620 679670020 722903747 221519196 360428219 394754527 149783158 112052747 360168626 361114493 866653228 725572563 861227469 578769672 185214390 624035690 625060366 823798400 317424188 418772552 552721548 934170532 258460307 329766870 977145668 348242558 483659489 948646960 382234094 958321415 467706795 836042070 155796736 138811307 150945209 195343411 235599028 783611117 574890485 662340363 687655237 694680072 150713803 503923784 940285378 368629270 727341028 103554431 926600870 238020353 794513808 535684097 656150171 845808800 439475714 286936191 783567433 754284947 453151174 101965145 414694573 489076691 559865292 865327922 156523550 823191555 328713853 945949408 714690829 497815966 575943041 869221892 262534163 379764050 272018272 673393152 684923128 245510868 100149004 828974047 609151634 850479490 845940259 269716861 436713567 867291103 677848412 737863131 753682734 666472474 801972637 430347537 605807819 433644064 759480417 120025574 675004023 699749031 244150589 712742307 150328655 381389788 277680430 491477969 884717056 566247312 506178137 699048059 952952016 786684473 975463360 757533604 970396155 461677690 434126317 517594662 607854457 633825855 838952597 971777366 758328856 324457057 143120899 395221642 321281594 189861882 741284996 418080084 883174549 288837034 345549848 264674896 257494013 616822142 652578221 177303001 850063520 528577174 894671581 833753879 606081161 592336520 253036866 458392694 465215613 750809558 154350978 108115520 120351823 971508753 129418820 978957156 167474471 748654537 603647316 950210727 179484874 725741035 817406607 605922366 409096370 614674410 806940340 940369930 959073110 961873608 467772096 542452880 383608513 760931091 284828883 296568898 395218279 679223555 404138463 824673244 911270176 405019206 850192689 638151768 720352403 955066802 224316866 278518074 230405590 256449737 473645506 390952042 368985877 696842440 906231768 728011311 553612296 709074696 380421430 459922066 259098695 989229998 332483780 246167395 985107884 323076005 124326453 704472729 789415335 905400789 606054379 679195969 129656860 241344174 273316281 441852800 996009256 771712669 952649946 258465021 767054535 455867530 350431025 238861141 436871954 721167565 721724916 318659970 536426841 230398337 242139295 706905862 724352991 564015091 770834966 493755263 416899328 463871580 451948217 111702128 943693500 386761130 776436873 955877041 897409230 159655852 524151814 949153700 654441536 466921930 592816800 419027972 838192542 467160007 283699141 970093038 567605339 272475445 301582033 325834400 582494637 865380473 285710695 342832737 811866254 828389825 386749050 724582808 395091714 724068733 759882545 278609736 761737876 328797301 996914215 660519564 217625277 529302380 657424769 325884806 476958583 619079071 268520715 469276342 533205923 875766988 700299910 697682505 552315273 290474222 767456442 655307781 858484049 434187580 979090272 591536645 710984266 148841339 691021795 825827472 334886174 992009968 539915498 236989161 278471172 855484476 914865491 467335803 987890970 809475138 808839837 776471654 924314582 879118962 250090050 547569387 667829893 151624988 111789304 858664177 624637570 935733218 485686366 837098620 658339858 743720047 874993806 133428147 220090925 630629026 525135666 134461555 212672238 506777314 973268986 384922982 994830371 539141037 769408271 406426729 322636581 729715867 509950298 624755100 392658884 557893298 811605492 636821505 528908548 895892472 965193554 420650148 571094129 931694753 801531459 177412094 856047562 581078870 967416113 703498313 503424457 127466924 884500336 703333667 185359663 693412422 411673568 536183991 254481969 404873910 774522473 201491128 887533836 731140232 990404496 279461449 117687607 673599310 415919892 336482276 538379626 884696122 126122972 633272234 531254654 478875655 210791503 356799028 386512750 432365496 856311035 385922190 271253325 591647627 371260729 856234068 101698587 871823445 271835056 744176377 184833915 217799963 480339052 409910432 977660923 443114786 720356444 172006399 437904858 977551127 766026581 745604666 406996843 991795620 564039021 267333499 428695890 843376013 166501714 195294011 280949088 421891795 311043401 524084349 751064334 136429445 121843994 397790599 829398583 244709902 948282961 500560983 995882531 936715359 125618724 460906720 737904585 996939310 787099869 515031097 294944175 279853640 776084149 391055212 489352300 847876936 176455528 643741998 442070155 539305043 906736964 476563638 872095511 797230840 284769360 765204665 325476020 168307668 420232111 934031300 668727000 492197166 711766733 121589858 833944891 928858183 541680006 737091771 866737570 162988340 874708627 288953779 179730777 935638438 972008774 740805912 463211248 829091208 664112907 293242035 693802058 751792567 598160056 394438317 838566551 316897232 508434003 161401509 467372067 367631212 580142428 841946603 708344376 278689594 215868948 694403570 289468102 971249862 735523082 892843638 310631444 783798109 683310095 568408216 175863824 909896259 101280777 661237596 942271987 995768309 635075971 262839385 643288717 447332945 421563434 490634116 441091520 750146608 637725625 791908513 393738549 852317307 957197203 293981599 537378254 945226828 545379231 685874269 611603071 646053189 948014573 445194881 950834565 993732262 597834451 784358043 529417675 754850076 964935765 732333171 909380519 468235283 784115133 110035279 158120667 490561283 273531769 512076216 755973689 837114737 973062617 386169940 489906205 346778715 493398001 318635883 366279538 743778664 561312379 686148496 578783978 891137759 622639513 106481539 348461376 887746651 884879038 519513228 197329428 431671873 545922621 526314390 478514467 163152231 466957372 368164230 133648179 883690551 370257769 960310194 852040028 157595047 998760507 780937022 197513573 591381693 682476335 250568246 503317949 978924858 393473595 941927550 462149230 314465763 186571472 152822345 218173115 757355741 770320500 391777797 113370032 346069526 317510497 765474451 482631300 433276056 144842738 268169249 412672522 524375184 433657748 970535704 873324417 640024925 179057859 337227552 876355912 850154975 666319167 463655299 221558483 245980153 663721764 334136188 692290783 505875659 561687048 664078591 701561991 779500797 494293460 911682819 612848180 383899152 232111374 792650702 745789716 308102827 497080760 666709858 494497970 515678186 633170916 961367160 425356559 133394570 724725058 111317781 164807107 661335125 232793991 264112354 127192814 867192482 882087492 303415776 748188042 615413276 313062052 888126358 548142793 470368940 379186133 903817613 248226894 973916386 531965240 412057757 688751023 791369003 586563513 658221286 543831424 650300832 328858753 666195353 183358142 208822915 939866182 707756713 980827198 609397679 761497850 653443524 167979977 167197292 747527864 437508999 744913739 205826042 780942568 988504123 845720892 178944642 481864482 361131381 159149239 612973908 837990086 140732438 707335794 967191069 958803293 579061498 488943263 477533580 820614705 867877441 684767016 983040755 266118759 579828005 614958217 317865011 817652771 206392415 932222912 638209449 425016715 555288784 455141772 790183536 111765322 740882088 159597641 860555345 719782153 152845683 323355927 899580046 307008642 139650868 908293554 470025534 469362707 400919460 673206326 975042680 295847364 348650011 276215124 949813505 517012549 656198167 703790488 595348201 496652231 743608248 499471668 590241957 925442320 570459368 177448483 101847518 849418185 875327675 995035999 690581230 923653511 852766804 917371842 723141106 917045575 754758597 315478004 292011128 281789294 431830814 715273287 496892800 937602773 163977673 688576875 534446322 684562642 455750358 798521161 444655596 882001394 402230784 739051063 894687127 293866147 372930196 565607721 619649386 179878761 716866677 597307320 586848023 731366479 232449489 292237787 951399874 656751318 532163840 164728806 121906815 474942205 802275241 897047150 644507917 749838577 286707176 371980290 148791011 154223643 505270230 322972979 164266527 447977888 737228172 363141565 284136152 211175404 721510683 701099098 398701597 175556499 292968687 386715242 263670490 456103104 575990592 149367200 899475048 594874905 520009006 519286499 429548642 919870768 293733363 826236314 675158508 187955357 808734574 817674288 141920990 767767793 603126912 929709714 130275476 938052283 414490391 585771513 550117515 833871434 509836585 729436620 176270014 322455477 977140104 467882175 702670975 147777943 677399786 728998343 754529556 406019843 257774159 498800178 717984522 754289899 667323977 679657429 962507614 681792594 794121693 994242384 554411966 765680874 541265329 815038746 119997481 194713251 607106957 242148941 777141945 866252238 611015867 697375922 210273070 691304061 654147041 108964495 426926291 610759490 277524897 698870944 711859219 391691206 327273069 515698970 245160891 915644187 268023125 947239016 402343521 754892014 319545061 566814949 149512809 798887525 571542217 913109979 758234446 919336615 233782180 680227736 422588182 390961188 634969553 544674744 169230254 814695386 243926391 699786222 221109775 179204125 108717850 811279583 712757831 474330730 852847821 431641450 896537729 401211407 402525358 805969466 728934515 880444330 100624827 164205403 626815160 587071003 648298161 174863728 310235402 913977276 983452388 642055982 438681676 882157452 971974532 677354866 698025163 595446826 776048428 453939566 375369871 848772604 813485893 919668393 829453014 635740231 850086672 864516590 506425815 910505793 958112040 390965568 960296993 242815110 879292077 817527070 465867398 944770385 537332966 966436121 341957883 102456488 299444450 493325593 666375398 735338462 257315303 827265473 762388059 380985957 476398054 834344671 530231455 282985982 789229601 108143217 525380322 163067798 796449152 594494025 659318099 967774907 747284492 837699729 226616486 364398330 892757103 585865137 615684284 203922982 959203933 563931335 375421538 278012235 990851614 857048601 317793109 394505411 344296806 165301983 890598448 674464544 233949672 624328176 915469148 637531716 812653051 151880793 417710078 860543147 424274724 389576451 402641442 753511764 435871999 453417894 718170802 404748883 722094957 701128785 704334529 231896984 869207529 258860559 314843606 303053097 421796795 723702184 321639819 987367827 754623764 505914402 238270019 364953187 181590007 392341572 900867070 477133895 265950378 573007005 280260818 867446259 532495276 336464031 386869761 108023430 220615722 576842584 657942352 521185195 691482033 599858924 754062867 512247673 413021277 121093971 213260516 888207441 596819143 766353508 731257486 109448249 402466829 790856120 964456459 236177631 598947648 765794277 865260976 471142985 599898226 473088008 818369745 833887540 125287562 554938307 937188367 148571258 483265969 323978382 748815066 464368931 867934426 113446755 103221234 571513426 745844029 529912120 512182088 345957186 726453689 967427414 160319458 272528212 849946703 397998744 797539456 258829427 642063066 733279138 993794950 569318672 246146736 263396053 984249275 480240688 521130674 751135639 103323128 972113749 169690632 329962319 465114994 835875748 566303456 895734525 669439740 515880126 800857785 199351269 405934941 575445940 875110754 990393608 950552450 418222925 647877790 435872555 535117654 428672760 315573015 613821700 409079545 296316536 405924437 804810999 294496838 384889627 510863076 378051214 626898339 406672177 852136522 866252509 827348448 953129854 501441465 719369863 265422068 742053304 330400167 509981011 227436807 778982440 602118803 858961778 181918035 297349746 306699849 378093767 737713228 284844388 491588893 881991057 819501807 562250967 313382554 388862110 404740874 929388977 567466313 967578589 131976441 558165283 151353989 559593175 484879745 392979704 815983193 455734472 141159889 171644353 546984499 500223203 198168035 303832497 965512029 685653108 246891859 973886341 919845330 362211457 409256226 282086363 314355590 774656268 639591760 544084557 463181154 267115267 390719104 817510301 113461233 615728348 124612994 109446948 903486705 294831396 117734251 435775496 391424180 452370192 385733202 964320875 435755928 270965190 346143013 995054476 496023971 151022828 204038154 636114796 352047339 553505361 841666624 971439318 729644159 971628560 727064454 839207206 104755950 742352242 261284837 872830011 922904467 665066794 949647338 259453160 565573620 175346361 548746147 232529012 138394996 550038012 180039052 211482319 392756989 580332060 313995983 312953414 684474929 605865627 722818925 820306350 978254000 722975730 627813111 426355092 709192095 716690147 709421721 840590250 787757083 974651091 376338226 584840513 511293167 872558285 513142908 498179206 474651532 716249589 889552775 443985838 351831460 654385183 938504150 857197563 159515406 442917755 810701529 246381064 343521463 576050632 659300156 924996853 582029261 739757982 458799914 664854246 197095493 326154486 791901030 419458749 283480319 294697116 219122010 396123296 275544966 507828286 535669727 733383541 902481063 637288627 191524180 773282481 132270840 902605092 943584107 171722283 959408308 493912183 578572992 588304333 136031709 204639095 117261682 164141515 129291959 418943750 611035806 426037827 645140477 245196125 494492067 950423304 622895446 910212669 202086503 960803688 679219412 648546938 992974190 772598540 627092317 575451872 329740942 382133236 538743893 458688523 625082699 272840797 442664838 635250727 486824019 411121837 298851402 850484112 644760461 991051528 649717139 684525509 640766411 656567037 666982568 732350476 772805013 948830529 245241861 497612736 734224684 947647794 693323646 501200616 309972109 993227383 598302523 181801913 779436648 435132115 288737661 917789673 827601876 917934885 392085229 937724829 869895259 599969827 442562327 879195486 712339421 948472317 496480056 504774518 150563491 404650802 997439111 968548432 417380989 424189768 394171276 392134066 360264786 717545023 760954112 207267162 195183249 617942709 315496953 356866209 755883909 777579397 615294499 807613182 591762380 474172807 140601681 874688402 672545545 895564297 309274751 256357340 149126170 183557813 767614392 566076599 897852311 598738221 504029287 255611204 625336314 189982337 110157789 686801661 778305051 850942843 374156922 976430541 536303751 405740061 426518790 149848122 870257111 954547955 649975392 269894796 789556146 777305402 974242914 439338602 392108241 186696853 579419432 500886342 683435202 217397946 482810608 995490139 815657646 677937653 704103508 484574378 780744669 374072055 978968528 965673571 546531862 219193533 390520672 415264582 103241856 755254603 493760615 447897481 853217736 114322247 302090654 567646843 419839318 623510457 422530650 319886463 717723992 771727767 971004274 700658338 836227246 718484045 629910278 245849842 468803215 971158049 310409834 548078316 595259382 857984503 562057196 746522381 338837983 873207168 574358952 966583426 809564446 711262085 865136216 964807313 451864519 655005871 708989832 551091862 122351259 680893580 368477731 916011944 917165208 447628516 532034445 330288216 399318119 631902608 613885861 580718097 123504881 356521747 675387761 870009933 489221823 552016534 925630116 389742179 266611386 553956971 166007928 648639563 938041276 957203916 125899671 836142839 367690658 627134821 871577407 780455105 694263623 184463920 588585457 126100836 302856380 472201076 676998851 573690611 274581354 980763397 188541688 900199283 249690180 561839192 341417949 111657836 851688294 564407015 591619503 337477245 639036792 501235706 830419256 666933059 363309744 379425603 345933515 642064098 910517780 115962900 253449891 847706857 868798841 142574894 153879340 203235242 316697715 400038857 798694848 444991113 624992649 488359641 668685389 321584657 599454380 419437908 819142411 235479993 842494980 250833900 536104364 386097491 647654691 396036165 597364469 404185575 747949114 453466561 400169010 636481351 246069681 370064254 809001140 370638580 486834227 252856474 694765225 214889258 173676421 187762179 779102278 296715084 624346806 175765980 782785427 519538568 170320904 714209797 450157343 894159895 837536110 726977990 869753792 604846915 181717904 507989832 815409998 251931016 285725003 611053070 553857791 743987922 602333721 658006337 216685332 665004382 951936311 857081633 828807973 254351307 457105160 875722486 364776668 696130722 405924498 466146029 566491596 419563267 844915617 812927161 175716784 716505909 685462482 851015399 101745129 130728070 542220627 185042605 566985460 685740841 142231754 192639014 105123824 641720373 551160968 722188049 464859774 579307719 579456416 265207833 398046353 651949466 409905400 614194373 115706744 626503802 839373604 933503131 332768370 361769269 616144276 280891194 536134313 339146796 662298799 404361046 482600627 216243708 838604049 976932477 692888650 720875177 785693821 369077041 974442033 853913665 643720776 316861771 115316183 783243553 133712356 973113153 978542258 101643986 215950296 777177416 423346981 679265107 405742075 447321651 915437708 820329448 926240080 775946988 579820432 859857132 711841509 228041024 875892831 750270513 746223046 360820445 472851102 363824487 169493827 556131190 470075606 542723683 598336194 922812901 640653139 799730537 599592536 767609995 524307683 851672891 533511071 469659922 902912759 775468064 965020085 260853167 134207630 175036610 411246229 207394530 153444574 710340211 866150253 625944604 695222803 669746054 792636982 300446052 782993856 396677045 563001386 443181603 501238275 574864337 841320661 533951727 346719975 754194564 652688408 346459418 212531803 279193393 870840957 572442737 976488730 727687859 568402711 226664576 539040761 341172412 726068411 877298956 486912009 875050744 892180965 582545661 208122613 664995509 254135512 862518600 467053827 860059402 742587183 988709401 119847971 844205728 120802677 570269459 990207794 595809310 333176768 807937317 295993982 317403639 553747465 206664147 143613751 472370216 471952186 453525475 655778298 643819454 877412046 490931183 674563497 586486282 687840013 411144299 700951626 275217423 667641824 853741001 381495970 166120730 841856402 301329320 798809546 596947020 985169145 831578826 481366786 432407882 109816440 341001891 971929855 313085144 497246691 897750952 545837807 393747036 656270972 588683531 163082480 222117752 506949085 943067766 870666509 548593727 775912531 799506329 491661841 799946206 228817827 549167775 143854296 937381468 405432989 705804573 325298072 904990594 474381523 724465163 505050566 134624387 641764303 286143486 739549114 559959810 608813437 280931265 314798416 255736285 999353957 823122722 486907765 665593365 633494952 192753685 321390854 482559402 933067324 725907789 482350577 923631073 295426503 380481205 760745052 815788017 204313524 615970294 259736453 463950514 740681684 545397541 979242183 658085145 764703657 636820030 294414536 913593005 695713367 576076731 748744336 111585231 250240917 278522021 147174971 519617419 207979931 894547172 923446929 385793910 257795933 445108152 244484587 249607063 441999452 193343024 572000764 458922042 391230872 172076669 556143630 970456333 262793427 630188368 383885673 111495556 247178651 670083188 879402527 720067268 219405940 431997097 713793068 413261808 834819489 241229985 474750975 332149553 220701926 278387270 882848900 730803818 853297439 562132329 650496178 140498347 382227010 349665629 867415438 958394346 813253540 411711536 469161083 272866324 665425773 499497874 280253473 576830477 279100337 416193536 760852678 537120664 773406555 827549036 528940584 381939259 698356154 465424632 133308717 470464919 689947426 336547857 271175264 914936822 719854832 385669939 445111760 746053462 310805859 821395294 562277410 461567111 279592428 393247940 364784516 979116941 845917573 266130687 420373373 391039308 365310905 912132065 117511787 315525255 570263412 868358158 703750352 334863304 363349810 557963505 977394287 322154357 203092800 958238255 373917230 462706743 591976551 617781160 993947446 611728346 942129834 978034650 852896323 549336713 566412963 432264013 808739420 750174893 822035706 965692101 807106487 589121723 153525682 847576329 557017145 275657307 953922382 758457800 664073622 449978353 515455778 138427864 325816575 276971837 211737887 155339025 242055956 570533426 522985626 353039275 381580545 551888019 600984714 986284337 685102411 668647606 816040657 715651340 869425531 313645549 883378964 451917867 934973013 396624409 875668923 725024059 792397453 961334538 187053280 218244949 763372355 995549185 868273436 824000191 851157801 362714187 948369974 344575155 484979078 117930587 586582852 572443505 773386551 328919598 565446017 120351345 519910958 837816363 355768301 649302817 503260540 804897081 943859551 951767781 692492735 891744559 782749874 495255001 330316081 637719717 477786621 928300464 736734400 483519187 698494252 891509223 624446808 989461901 915738441 870973652 436053013 437858149 290429631 346868027 706200241 446215408 727028138 137252847 563239813 731373505 799339722 119516247 590952154 421002578 324128952 555695331 586710093 112198510 640455294 352378706 308735354 282387723 304646534 439934595 164147524 833634768 985176470 421497411 952718482 419207920 352365933 893966375 237752258 255828150 916869749 671308538 816780436 984646643 750581627 361512098 289311317 754742393 311500235 821277592 843698863 421530482 386206790 199107384 360283406 545942095 470260794 728962654 334860150 693643965 117298255 533379111 275290574 769066111 263444589 704556759 668676660 882934050 164462865 718158530 142111254 757502566 950884103 569811175 115893079 269557212 150743015 332544214 610703563 939972201 125781096 617763214 251151448 223197255 740343999 115404025 100086099 124520544 315553323 532167429 320801340 178138117 213808978 987245421 891052653 426651688 140080406 594259131 127542982 577780971 349652394 534065068 236187413 623592228 293271259 518550592 202780933 228193960 290613856 313789380 361418584 597531452 564858637 577109153 890745097 158018456 778449124 829504507 504695067 578110986 458682041 170695114 880055156 802997024 761176779 356021802 313298210 743179837 286480586 679743036 616501232 229867919 357224447 357841527 618075676 286940342 215766576 744900447 836868973 435367119 164346336 392803398 490617257 765122601 345141947 558279469 119752723 593950687 670536684 415094077 896123251 118779500 422758657 504021750 767473103 490749334 772940871 188478212 797308710 873043664 297962692 409650243 648414844 475538853 474531392 547583115 637120258 525957180 580358525 203216247 229448221 265875251 585030659 342342006 430140480 101361257 416913452 590098040 888546735 293768896 877196904 735821992 969455363 666906752 309664861 938423232 788461781 666076293 837120921 984583789 648159817 817161970 139427530 969717839 992227802 564892692 845079033 796137167 443939946 808184851 271998798 674354735 781632090 875744068 247499220 786702355 737468087 557476115 299938568 502860176 533854907 131501342 589858557 788275937 463493067 447165491 987857602 348289713 132817008 616233654 639947405 311533967 711437169 456458522 662502151 784583154 686463578 167843628 708802177 381151282 382967779 712725702 926781487 439455877 331848895 634969422 553022350 378731184 977235093 395325997 628611554 870134603 919087050 720661755 824607767 548938983 461920347 378891501 664125578 610035495 248245796 798643867 396079118 479318930 284262798 946756572 306534553 208572595 295937274 414504341 844493454 126863804 766913652 474255976 305740578 323276728 580601430 368422402 115550130 364963740 753299463 535937093 899209977 200839640 362093614 606623820 972965155 473349535 667501496 242690571 934164712 940988723 266790083 942405380 755334048 771499444 913421292 147574814 738245209 657398046 245412823 812037964 570642934 778966107 247970604 968601231 815341408 602099319 649604297 475772394 185582410 388621223 314695663 435634315 563887753 610515210 681350792 321640903 208524576 255124550 322551596 278497173 473739233 742164137 182278343 808212771 326294779 322676663 775364238 378240142 250820403 263267842 945392644 904822731 385489262 746611629 936845575 800564479 700583260 896665372 258871408 463906143 756061226 743958050 751647754 436856728 735290261 361071068 919035814 305515426 603128051 206091717 380856318 426569007 959410307 719676961 311252058 555363322 634192185 780666785 737106578 769568957 201984370 196445703 892724585 223124208 125596758 508300148 410020372 266616255 898064757 735516044 513017719 493538886 231607252 546585873 234096867 841633879 459967649 213829339 720539647 151279406 295997343 324651861 285503041 810896436 162728973 822133542 179280175 703256534 664292261 834746830 338608730 470002231 539458739 321985723 224309640 796341558 391634151 591870292 993902863 255919523 844633482 705287288 574417085 694257097 222345957 365788656 383653825 820515540 310269513 169300190 600979944 759612898 954853875 583222025 213259431 668130765 903638202 565498559 581159354 497198153 194588842 921266943 414514344 673603179 324662767 182509526 186786404 483827115 542530039 381908328 306967514 760314970 333106389 383781285 321962767 177757391 828691068 735180415 650908393 975955189 547243894 905475625 789035888 310890630 168257619 325691058 303180540 461638829 274834651 546901507 739687194 420298827 270589249 216971981 603974158 143668126 485337191 232809578 821161276 630395173 342208181 673052619 314436557 189241484 415160488 175612574 868516092 235834921 118870039 169473275 513747989 339272977 384613885 393544687 341510033 316845932 381214074 556065255 832009353 999540118 456388956 286880225 643353956 572474897 435629321 383395597 621707262 522871542 359402722 132763818 254624597 897169001 874699522 894778723 284415587 657312421 769396858 439797878 871895402 763715127 537346547 999195697 363529808 618492191 237781076 704089649 115502670 113197098 858796804 961436889 168396333 253067842 949446671 610236614 776122109 859461707 879392450 286171086 765070443 773554423 650660380 561359242 233229750 418614144 951718878 489939449 121995003 883689065 306985850 190899510 158559986 206889319 838952926 681225259 190679084 883657407 518724640 841352649 446120690 859360211 485322887 203007534 437785658 726934000 953241905 428291922 377527069 902836366 256158343 349840286 341304969 862678346 378885258 429011132 977654619 481434345 996754985 456227485 421079135 410302035 875408963 850675678 268348093 273555295 348465480 728501607 432456270 987982889 363770871 882382655 610864724 291540062 287264905 815372960 257230158 878793509 734099293 766561366 808134600 498009088 625534842 374886241 286672202 245130043 619979838 877214752 941493111 414178778 806903913 256813053 124576436 781820151 499682395 499201571 488952505 417507602 545512904 892641185 841877795 728733429 784677798 560149286 488032893 660049631 366929111 203028044 174387776 600123578 312440990 486168025 724013448 291672017 661466981 852208367 791699529 701380228 201434194 831951972 337923437 518089073 752882965 614233974 324976312 885205227 537351229 159891897 997205237 954507792 672998773 556043531 166505213 563689442 110677123 558875302 785806936 943242397 740914437 345410615 589893412 261677111 705522029 227818144 442918974 846025825 449154330 766958346 543999617 769258519 258779990 611928479 255737120 208236194 308290158 236857681 969107461 475047375 410373804 566446334 438542718 960999049 271987653 452112653 487097653 756957110 143111645 919282107 999076562 152257876 174516900 626357138 655644813 385399731 681863375 720395089 432760849 856939108 568070792 612289062 714734583 109907158 308165334 103214304 998450364 902903243 720524936 778645385 362644333 210742123 332574666 930872572 351191514 104848338 843630662 698073895 176719024 387646243 220739378 595140465 953274303 850812380 672893378 847732067 214650228 451899698 411675022 432345048 347518372 946791844 419527082 860993396 716982261 625184050 958617459 563650882 569311087 196121137 260627372 600216315 662422385 991164895 264037464 567792414 411507610 509935140 533275592 591134827 256766778 453041086 758070295 940663369 890293056 519233977 558105370 183221353 716690626 260398161 117082067 250002675 527774439 645881298 560843337 238542588 296407352 853884785 427633766 369196685 496415241 809067943 341870949 218796370 421655092 122870104 774612582 366294974 940408981 798959858 140064530 274252883 527362773 771519228 288161924 703111436 199501001 486596874 642529620 863344938 407490848 246613898 371771822 215780021 952078381 192576385 538293710 444747359 312513050 553844659 578680114 166383179 306545353 930407455 565672122 585206213 106686510 364803625 487042061 391833748 938200570 961064416 340202598 473805107 573880665 181792762 503710613 739278966 148227289 375451258 838376319 345872910 676479446 363670123 895034365 300733238 440988120 956609263 377563989 270189285 866165168 827253886 131300252 639617016 346734035 796781700 623981899 988542975 142934530 388015857 886587337 146013542 165017588 129941691 970566291 350185604 543357382 407843731 145590395 550361856 144974058 285487324 886908423 707450101 769222021 862749413 262954971 294281152 548389906 434224410 815870462 461696396 732373406 441918215 734291969 860504640 198436255 562242716 649402391 290052667 549119241 301346427 855291303 242498272 489645553 242970082 976409528 626612428 768496336 970985208 144670485 778240765 425710811 733204983 535862240 977580721 983651411 702716869 309111397 993394623 881741655 988846547 347849398 309304536 179651422 565813842 476642248 391586001 498366615 454684576 735431035 243735748 818884047 687875070 499780655 270350710 332733772 877759217 860469272 634664888 868139365 905949559 422797247 285715463 286441292 154982479 309277817 898055849 448375135 300129903 636968863 371834880 341164248 384634650 793730597 234995146 515618036 500414292 283489275 861271593 892107565 332455228 442009000 756585630 330963542 408574137 135882476 716437213 354773990 874154206 305059140 817854840 665411511 566337429 675699083 596602479 882317797 698275756 766789548 766277261 303834894 108216253 278592154 122424488 779542276 842275426 211100970 334711647 747444691 913343968 957325911 646619612 446882115 814100453 393256892 319232221 493574825 521660501 996744642 732974456 486493939 842064997 716968037 157858876 292499445 557006679 758044555 941045264 248563231 969676671 443941905 191553564 820471412 557644071 858714375 434394877 260221637 556236645 395652034 963167572 489473181 307283398 177093038 981223761 351658989 836500231 300875798 242596299 155034263 389701379 641036547 685169761 213005827 654798901 515427871 567575312 406418554 658925982 396992415 797612680 230984246 508636548 509523835 945036125 799288536 639330096 447967447 445373316 842722728 487790427 435206006 753830766 313148805 284819891 548245906 588012720 315176604 412530759 714210936 279193859 939186452 569972545 481227791 236620475 353423920 677048216 164569091 960794021 717475011 388628658 529954497 137406618 847603852 363819295 278442750 399714517 308247566 168095089 202890382 154785138 750476018 725659596 398020196 790534748 358567734 338686173 417394487 848733015 185452831 451971006 999461380 605533753 313381631 195951715 612368629 761653282 303826135 427200774 151771877 296783063 531398966 915378537 744135015 412657420 903250695 581995137 565882940 832680395 559569159 522832657 302958595 236305280 831399134 342232609 106217710 506883180 298782059 363906267 280484135 472426343 419092619 957946498 752137068 694574860 423178410 965299086 770537465 327215388 835998884 270824836 461486407 420488506 508352270 475634191 404577440 504761127 242328823 993256591 443240389 346571493 293422889 682623461 397104778 745402065 326735502 488712642 766354359 222282871 592335063 920492910 676102552 435442420 307454481 313709980 725492553 445042113 868008916 678434009 831452499 609897153 401993736 381078281 500978771 809498736 447423676 580498778 244856613 541868611 483887197 216966549 625231950 119031234 507135632 477795173 549333733 401243091 465003656 339266249 428854296 593576694 549567115 301402117 774732164 474353616 959055399 330238018 168973273 710069199 442915074 269055401 539826027 797227873 881243116 237198782 153194683 603729966 742083751 902365707 791295465 534579209 178695922 614821783 708354350 839699753 173805315 278741467 182488730 911615340 292054112 284692551 840708623 638732973 136303757 299537077 997946873 606563200 969551783 935012508 207425282 557536557 100218708 360571066 288194652 554998061 557675235 611279088 703231623 294653067 589816191 618700507 964071951 931136494 285026327 423167125 685534597 369012682 955585448 642298661 532407235 802126288 209586820 637790121 149479163 442358302 579320206 294630989 911594067 319389829 175150684 632337713 967098421 562659388 400973827 693963066 477672401 481359500 534632684 997779183 105574442 580968354 885278873 426227724 920463541 758504024 833414934 282375323 518714874 164677873 244009093 919969311 664944328 315611067 631995605 114583074 531936593 835572457 549072873 638103600 410865483 797986693 555442034 136689930 590157066 229167062 738276418 609729998 239043447 948535086 632943930 587481630 351654903 755077890 807803477 978577013 600522292 722506091 990099920 995571962 845715727 677703990 989995552 708982161 356117698 690458117 117475218 359890850 534917201 363914562 683016510 133808271 454566612 578371311 301980035 123417996 972328115 104399638 398333259 807151175 839258504 458820236 819737471 927648883 368907551 958410873 504840524 188026926 147810830 743942817 912069073 598304409 865640889 856368708 301812313 802301933 376933965 548847852 944647221 770395354 740392524 636196028 928800296 870461086 509100161 531629698 788918306 141136393 962663002 281082669 844712601 341775915 276915111 870845209 705410267 363781519 111115113 848114513 403896313 957669416 478761061 243183884 416731521 935818186 810062610 348105748 106203210 850580422 242511694 342881208 597546924 503533231 180336849 668445732 169863173 896628968 343576859 429289765 774165202 803413661 968988582 922139744 768145002 766835084 706229838 934996784 720490792 697497360 625366766 691914847 955267391 766575593 663076420 265769329 946205383 613420802 490443016 368970348 543595860 111816878 597733442 185457676 997681131 496732856 647540117 445106567 520259074 603934771 491651563 331355636 332412316 285817461 146877500 677914812 240505698 882260031 726660136 666598978 226503034 920125648 769468431 899129767 268037967 263555286 943866566 627567318 752536510 421807022 600341408 387252188 926852127 633789346 665543045 575070446 540167893 683994336 543049360 724198850 460290235 677984928 120267961 397900648 882279075 571006572 217065850 995160375 175129754 983127683 917390847 137520249 648737726 955415981 456492010 952382813 216759700 956152962 290131573 565887891 682942698 791252853 717469181 284876297 307105037 819638893 355106185 339504372 581602932 350427525 327692166 172250261 209200741 898673504 822516656 549560437 994903921 435261634 895887768 497029994 683072618 534569268 776556915 979999353 702940701 168417839 233027092 350261009 361902093 371932830 204929847 505974132 695954919 220870445 760952151 146398093 125475687 161076927 855850953 290101145 200636714 958548041 987271270 903485659 923679526 957737626 779346308 123217757 278826388 206496571 513141981 588935127 706360371 696254420 551423420 454568900 463761979 912773335 856204624 387776354 953877255 656714462 891757881 457859175 627356421 295949110 826336242 340185720 209178468 398110997 820015972 815756906 764507476 206645432 543100112 139571151 606930561 715668515 354045734 753174789 311086813 917362250 218842768 928499663 191626601 172862583 964887843 477188033 529050773 638870502 826304833 863068460 426325899 689737792 285226692 661900825 467165353 279226738 131958666 255087147 809242912 223258408 102434232 489614845 625672978 359385672 336125707 444220108 312612834 767315809 538784872 246143066 389157633 574902700 292922444 301946729 864073218 137741406 848691957 347209080 251074756 739556661 145928265 227220899 970295258 764899244 366665601 688016241 884863310 363908675 666396717 461831075 509438848 808698092 538874236 619625178 444529064 410386302 758797598 415411671 502380895 532924489 553403350 425185974 106988069 460954010 953184873 482785256 630200507 433078485 283542324 751624883 431083379 909821354 497171852 873488039 632208387 422916225 662224731 170702246 995486810 316468777 699161095 955929304 529495530 961160710 726434898 885406560 331031014 811715867 864803156 925855194 728868271 884203770 886891307 416774942 935651794 967297817 420816644 909776176 499440010 535345948 201677042 405101719 748526294 389854676 671329921 266254309 250812266 895333442 974402636 732330496 840764018 281619397 762270591 486503699 770081475 370136568 691471874 151298906 503843617 394206535 521416774 162880823 418042157 995030295 857773032 770671464 204773710 905776216 702351323 764269918 144622058 359778683 874658296 602652356 546376970 730489162 398775038 477456784 463256303 714278359 557640285 590249720 203953923 594090465 149677442 584816669 893138229 753426549 225801145 574885291 321448223 776373805 690618303 832849251 194072518 388096750 538211462 833087727 491718514 156963989 464896638 230597310 290657881 278900523 358201630 946472208 727400355 860318591 394206042 895441047 230827314 137062918 797143918 531610537 694114413 270080730 613590741 907470023 899810991 909556997 234843922 113055832 554911036 104932022 193785856 548714352 746139762 189822049 716293181 636999119 531356998 676830202 306453920 889807250 404100331 603740286 252427277 812984282 137475639 285642599 340785610 314886822 468334846 348528610 142216507 934462760 674936505 772817257 814677766 874274632 241427514 932785001 765344194 440245607 389520152 341582400 893263139 183656960 480845067 470864170 372837687 444759203 428040464 895809569 574161482 442074126 251557673 903560519 747891978 150582151 844487599 951350222 118666147 839805427 622451438 174856534 292867843 939448859 100864035 963018758 797054000 657093069 788089546 185616692 770889953 680864643 217712117 324485094 838401309 987363865 511149744 152559982 874704371 649303372 242958008 916124867 370291908 153040769 493183960 476559233 286189718 609068254 498387171 975367228 931811336 363050571 557382948 259923202 934670521 474032614 685939657 934186776 444719728 518158158 279187168 402222570 558658512 158879773 624031448 820544495 596350339 819458683 546669547 465989530 385727678 887194306 388258289 748841789 726304124 338718723 146474927 142855708 743967027 623124463 673229822 401851932 150095624 580107461 113427386 475180963 555593704 521814898 647235420 264970381 269270498 208631631 317602669 634589704 289063625 303556560 525729251 926416745 927992352 927797383 643554922 337558790 977400405 281012515 372521124 636803782 853408827 166087921 704572506 185400245 917584184 268017000 669875479 581286312 323682673 865948582 857344223 153473939 609575473 363484475 240748012 737081036 836586361 332812459 764416200 750078623 899992288 368396009 699186973 689773046 675672162 691238341 750217178 504626311 603853666 634925998 828251484 637430175 483292955 498838357 875623419 856478702 793933757 978368027 379781745 205120366 981731830 482587524 874662277 188027305 535634779 106176878 804479929 872110269 775776225 748696356 545453253 865231914 939025786 126783634 640341082 354121660 429791438 850642637 678065801 972791077 193889252 469293542 908880739 733207918 375247477 777013201 270161199 852748139 661844740 178347605 582599066 249431722 528601956 372612291 269649882 891776179 616061680 474824363 671826197 778537725 214829453 674823460 632094754 914237921 846965943 975855490 486002047 703333402 996480462 143856879 141852514 390808580 816243587 707371532 468588590 253648310 654236831 596876361 284556609 358172879 625163616 371252620 955330381 910673056 381240187 130307605 424672007 612755066 964130484 298875430 766606655 380761619 955434327 298902410 705185182 636619237 734247479 231321499 344809004 208364994 850950896 139091192 175775032 945862170 682511222 485479939 214736165 211768011 715272195 186725453 131415847 405863385 999786596 433743545 650998014 103311085 162730733 659510361 641247812 745655201 547365801 338147502 959468857 192096055 451645819 573112711 738497688 391816515 533065443 378249889 867872243 260992914 371041654 452803061 956345312 770676225 963561606 397446610 143873480 178373702 225803077 708791559 180114269 927247585 737631825 161232048 973577942 421840609 912519241 260655779 516883583 264689805 303595208 110257015 404007751 263206074 926212921 287050951 948369818 319335725 692017051 787223917 936989030 216983936 602261103 428818585 728209320 810869441 831621188 843931860 208544421 112684666 327812397 492789666 346007709 684816561 889545737 563220824 909094108 368691805 315639455 169228263 491889229 662692647 846739483 632296448 573010318 930667670 639108934 942453443 849250567 750676942 475524348 620934977 726423240 976370542 771130031 273315306 235501313 471980273 580520333 109069857 460228273 245956633 232420845 617338197 225960924 366662319 900182061 894418805 673388298 645714285 838926841 559108239 739031150 869611415 107679419 603795765 136416304 849478983 311269189 350202917 583133207 382202047 863858156 425902031 355066487 333233565 802551796 131942608 128735329 834115452 745366399 810896292 820828016 854366882 739080940 808629891 439510025 985474412 679870532 577145890 838531152 569641297 990790903 206159116 680501883 923005085 773418290 761496720 981361671 232757456 845449284 944209771 970895364 100681743 157244039 680152109 730741952 356326999 159144562 537247649 398814491 872609327 723893718 383848191 361289699 922058356 612284121 727987102 322128392 797138182 375435426 885629253 761663756 585705466 315265777 129657103 502387113 533455685 396128386 901096068 655537110 953229055 429383062 252429489 835496573 687938897 226662236 515584875 478404523 268330665 510939379 757877696 118048392 685869147 936470403 871454107 295122937 649702617 435302162 306587372 435367136 365605499 293217075 395472975 343883098 328047973 760645411 194937276 852230720 312803153 206324214 559561096 955510714 687132402 873739837 770033330 500990414 156433536 666800814 729975282 191755521 387316412 255307825 902191582 706359504 294701011 677295183 514969706 462080425 688450783 936495117 112161657 560946736 514066933 198606757 898976331 423505307 505039400 801075381 198637874 789179636 813567826 142111934 911260402 513900968 371616181 883085267 241316890 325061264 245043341 724723909 665146826 912218833 629684426 711474226 274872430 450168874 114723294 358103523 531795561 736848616 939256779 692653580 405752095 206967855 586691143 444827157 563565768 215546496 112393681 956340885 831112131 205986207 446770474 628990322 908815196 406627698 739304083 674810807 713843024 983664530 842205537 865267986 756204010 609648808 813224502 775744316 871576763 592663015 887889703 355157478 191292801 410349552 992587221 508809702 444841753 559363631 893239816 517134889 169899055 818881576 330932052 962305748 723589602 588392749 121704203 923095266 180809468 444391542 101581991 612210603 354099469 364404795 208861771 684961352 869371868 597737916 838718955 613639778 596011788 326690332 627361470 269153000 239697841 756169029 700580277 166147597 668828745 370357333 242888993 113829406 974226910 482190691 242728857 541476392 340058015 432550079 894776459 484765469 174919489 714427620 677503477 167879590 870996618 978717288 761266293 909196062 295042911 113145258 510479699 509367959 743792857 326115403 480429223 579243356 224408390 633990107 490488937 744076875 978095504 138110065 252789327 542783460 190688448 168002354 317707011 351309162 196982859 878789644 473603072 581453213 497886489 635930320 556020928 244069949 255962456 491300711 241226046 834863782 219742548 437139481 670655937 942032559 217519900 875945222 663292331 565716625 749920155 908726041 314708189 380863488 252433668 295250471 491226587 823508060 928060384 329907862 941750588 953671225 865604057 771681407 793014667 721854114 456367968 594019745 157464985 212028729 868456859 899347940 949307999 536390553 413694421 233639901 765514500 117627537 180788033 554836289 908910072 418275839 666811827 508210533 349846394 226447904 470070251 246259920 115552449 969588382 997664911 505697603 516497047 255360665 369900694 147685867 285401639 826144462 435969495 376238224 865230020 304813070 758967550 228229789 583258974 486340464 331502189 543695022 168856402 393019358 371362637 170602967 475791722 994394342 399763728 103172052 970812943 252200485 297753005 254001367 764291675 131459294 721025717 188340221 733193096 394244910 872309674 864566809 808671670 943111492 692971479 602587110 124007048 649316933 922049950 758020946 891792693 486963359 520671421 344480217 654532449 155136629 318758436 197457622 516327949 286885360 955193736 490536522 577807687 542898257 575273862 852013046 517481930 339405319 186623058 722250268 156563060 959999391 467760802 586765118 946441554 570789865 749185333 815903194 599764111 854779843 154524669 726594122 670370262 881935650 397055772 417033314 273362842 272116742 628698236 821933796 220183123 614454469 597701651 359029750 965725295 497617429 114516651 719347899 529868362 537750635 397462035 368032095 505698307 917475768 685696124 815160940 114661320 753012217 964652478 597623098 893526205 871978008 726746833 845631679 779309358 418553165 121603240 433547170 611657744 485692284 234817890 930902330 211620407 590372230 623202398 495742298 772478070 341813573 140166063 559916502 388588388 938273864 779778774 617775279 441334310 672385584 267427491 193404058 290899255 912488740 271381759 387530218 586983765 659978222 548213962 442501556 473313781 707044538 698687689 980913946 476300934 534796444 945518394 890445307 323539211 127398545 290802248 582000224 610416826 723208860 562766094 796731093 765671387 340125666 776351976 429530204 723577376 353204256 303035464 513992401 780632282 541122462 583555618 237125761 703944663 653914494 582550285 144071788 384658450 365010904 485805872 318924492 930008185 331271912 701529284 600921403 809172171 231690906 427330831 515754313 432506358 100986887 952002945 790407098 486237794 408057678 731525455 966287128 808421402 912909412 442475935 963007361 785312757 144733639 571179768 725168706 378451204 399168012 287601679 549231577 984539224 614722761 912012365 139113648 105880944 185432506 248273676 882075097 233875757 985597055 428195380 197036000 754407124 910657945 180293452 342270026 953834399 110891547 481487824 224593329 350042747 495337865 425068638 852558402 227948294 191910806 983153925 689713445 310750529 515590972 281195960 927077701 435235922 784543487 870617099 647020101 516675441 646892513 496563025 945101509 393860817 120983507 792557884 808882375 884972866 657937145 530570714 709026839 124491873 847043092 533813435 968150068 512487180 838924803 706904466 932944447 300211997 741259360 806128139 335064227 630450960 296906463 473827431 541664037 606095708 307329262 584915523 116303747 196897590 877423541 133743913 673925458 153726449 188930941 900128863 485693122 323994475 163828252 369342536 163233494 535890225 261335987 436785508 538577089 668411936 124032999 312088818 299109209 559028588 591455167 939901459 458053861 352043505 977587330 853444936 792926815 530002584 429639815 111677789 721027876 483355748 261892387 763813097 761588448 933370274 726029159 144066320 431762177 605041223 208102673 326182163 890490507 312438295 191006155 721429911 974637690 609669595 819331344 189519455 222207188 394541706 279023127 169896488 916637841 671008980 986889617 804141357 832094953 517781384 438477861 816218098 655373282 277458516 909457411 438767188 957024996 279271371 968263787 416632383 998597016 551318936 380241716 636141586 555768922 427013153 609303010 451810527 687801693 741743674 576796124 775397819 211490854 975547230 907811060 222355158 734795039 749607824 330901609 781325136 996756876 164644957 473908543 115042487 128967986 511772429 317211162 990132177 237127473 926963247 859196924 299829736 909209251 202310032 753461235 337471747 779649320 768432951 988548201 891024019 575235251 610633179 945138787 752007737 107094865 502013047 543736403 989141225 483188090 293582612 222516815 603622213 487588577 771631716 562832429 528032826 899044453 148374448 642660414 889783139 523254125 600234821 527000868 506589598 648253858 573461853 350025779 285740952 557352559 657453037 265392215 105851412 894161259 892604894 285763775 919843271 677601120 172921401 225609162 816685093 864282656 563138859 529733934 926844992 730108504 146194386 599031013 540876038 761185478 857852753 665512051 802851773 854119630 209281253 605081862 829046154 254920958 347148840 819202883 194194430 242389173 671599472 999666143 324965639 550089878 715318991 453999193 918403939 357014276 864401101 119168059 977283263 116269992 627937297 714592188 537895126 561121638 653107580 446294571 140947410 407748034 643172174 478659919 722135381 297242980 645975291 901326592 870861666 171189362 527355597 287030196 752556055 377933725 770504318 184583253 189703226 730889853 705695630 268934535 591011668 423299036 845241925 841521698 328573130 280710402 692446572 133799236 763988878 659829235 655767103 922774140 732444592 509369461 511364087 452348404 409736429 565231064 699117063 566397998 571063601 263811532 601967337 831892090 397556722 911496180 538115470 993945953 561495855 889537431 522630516 820640618 768376201 480722109 679087312 399637694 945296990 438276077 516809632 681873485 651434347 279262507 457758339 279672058 173096618 682254163 340408031 993383633 833849217 979554487 800481413 595178877 678632260 221037483 478802005 917708763 156173384 210471895 192207593 623369340 633106615 297969109 659594543 314018043 450411534 336488127 237571079 440773115 562154194 289591312 926272568 377876435 536075060 300654554 931811960 962708596 676477986 547647613 450894168 941449525 633284780 624060952 901662758 846597339 982573168 228058185 272338045 717938566 637113985 332522198 124214267 182056303 855466165 681404833 231506602 838410488 756151758 505113812 926947426 868078259 735357138 828105671 604986105 199215808 114756298 564048314 160546571 576118633 298695360 904505159 402374925 416674193 972809013 248286530 365112022 586956092 425563817 165630820 458397449 960733902 324832471 913682638 722733980 777835562 234913929 123730385 451066609 319617222 976097474 187818403 538080627 430562524 697128225 591940503 534051296 199023038 797916042 446352139 639435162 752604319 782210497 956768920 882880090 934973763 534033669 289570228 277036182 483768637 624786371 441430365 673593969 863834680 450057175 224748498 185821046 382947491 588750611 658804399 460573288 256178795 304655820 726121840 355976057 747660543 349452958 117357512 194660203 181043791 896875658 921417771 662215390 169282855 707225943 738464024 885863858 470744319 796743751 527894900 531401642 800995026 131317671 289777912 384388061 282478733 647751133 609782202 295644420 752032932 392080238 605310763 529912562 255842539 521580085 455245931 740415040 825087832 929368558 248342753 250332903 309605066 784317564 328756727 373778840 301016498 563049177 904821333 358632531 308582396 615039786 285116464 931288462 794125240 330382213 780106905 646999662 689562224 505985107 361903421 256391040 546831622 202340702 439037867 476408564 368018104 577114497 315073178 980054006 773647975 488444645 217616420 747680481 581473858 645421739 468121005 465674173 533605829 551806248 240751017 103728870 512212185 497938984 545401581 865860174 221616147 431387305 520997930 212517812 743331493 345553270 328047423 359585463 204946986 925173573 634764572 520172670 203942273 707559726 821400587 826939240 273935467 224322803 628298789 266167594 525686779 977501986 880285737 292564856 594611238 420647317 705091518 185097282 107604827 903270667 162521437 660942030 954723601 310815388 734895896 520939335 838172937 896387451 564973743 326676517 568851043 818374913 866358018 784549908 715254608 576226376 335811098 932753404 279972714 952410040 764766859 735874954 209157786 710596790 969448462 718885130 165443129 918165062 420432186 394588605 601927947 615999222 370950239 676570546 925792377 182854600 892413134 722102818 139631430 578752209 659948384 671225583 193708300 796923688 909600482 971249426 943255445 584694003 209386169 474844247 132383227 729730603 866156234 151960863 764049027 467470659 278252841 647740837 581538253 785512825 738318802 793004856 161183334 400655320 866892384 459849942 524093213 384930449 287772805 572481799 898069884 249712738 127839884 744247766 959004353 982675859 717849879 514293967 476524979 197940246 268877894 874618495 961302388 709520474 823322195 168462715 709202926 543970742 452073614 879532163 299083483 635331540 996125449 432035876 246632291 970696511 692216559 225502201 951899973 261156308 886308781 777873616 685589025 708866744 809292994 861099156 940315088 958239978 124040896 839603320 342820620 618370037 318957353 590996620 687484376 297276292 528281105 699184935 848519342 182546899 798870131 124608652 635149039 778922564 830308922 824774092 451722756 522386990 471668440 901313116 627260749 321498987 132106138 303289858 146118475 425407744 505054561 441757861 278672755 681370257 595865257 596534760 199270006 716703674 334522504 948145909 189158252 474704690 158728385 700187870 291561923 957291635 386045243 278137763 102215162 119070170 761996960 464896648 264127080 605682733 350307850 167218117 423075544 707753420 999331204 143563276 542850841 655025430 934988602 222263738 396526500 774520024 754772336 658077575 883180969 488252878 837056766 109907476 637260780 996481788 634513471 977709294 293820954 711405480 670451982 335514401 688217606 888482358 589662928 301109808 480160634 589510067 608589769 596918178 660528194 657391544 287528430 868162428 327637897 465865901 895664369 974419702 931053736 979945348 915701900 445082608 871589400 949682973 322991587 745934263 806106979 166907299 861824065 791233023 620712733 116247656 499558931 728824538 705867664 762816237 616976563 829543527 126485860 885355572 683977135 522855414 815590106 223416884 269020800 722820554 884217700 911240716 813934451 176144053 854427150 441848101 213395627 760582674 354577737 102976676 992293478 874674610 633437096 690543921 141989029 377611616 136689600 125102143 423182797 997309768 182314188 211839280 978429433 708529578 584668350 589282472 573201923 188720126 823343329 320360788 656665486 882414800 176654207 490089851 104550273 256784233 847737158 748759147 258053697 508163667 555664227 598169875 961002222 531511112 451567398 661314542 674575245 201430215 629703887 809342988 569462807 371502984 952654928 632236150 740819577 890154732 705470505 485417137 530194301 721836801 222090933 153853026 293616246 577830694 638684495 106870821 699679718 748818216 467478494 913680550 505837617 578612918 464034013 272878106 210774460 305508923 151743613 322758151 891004644 650135555 429787955 619610767 657795836 104534337 240358853 829038252 961450897 849311287 946604388 583658992 960655971 711184093 370023693 762311556 175236337 955076633 140809312 963043614 178227730 348715269 825231615 355250531 295122216 592727614 474333004 317310526 218798234 162565007 632767531 264537450 732836928 923458913 496288337 338179091 245717622 882256180 455361315 917031752 729530076 171158421 567243939 916931757 705617433 504594970 700221610 850442761 184604180 937726719 162918156 660774284 278731292 547680802 704548433 643382954 453053156 505438961 421553987 603381575 521708453 897326628 288934601 647815193 634610624 134403551 116664346 137476038 489133123 815390417 212514469 757574367 427442448 369281587 784805603 151828451 178650685 898842963 776479191 696805319 800530697 957041557 114882891 557190087 658848843 340189180 985201860 667290374 474438277 792712425 314694716 614047085 269561908 827247406 667201426 565285652 133524607 557580277 984859350 378193928 733765870 407014099 275004246 913506436 271799516 968847382 444224938 861425325 220333300 220918456 514181087 463626801 725654588 883389114 241756754 912651212 702873146 682269799 724393699 304330847 878704262 514683994 155720177 219334350 985446282 680937342 712107164 993338524 820880351 868178359 377967695 782083161 672256982 608652094 711959385 631710987 907665594 910867375 443338437 615347133 457969637 512633345 480318680 514505015 119695274 353987823 710618917 789995516 955231442 349263923 751256820 405883624 361623576 810248150 127854242 803300550 473711879 475541350 248553468 488145077 780856630 559279108 308239886 995658753 717063072 299030643 218229379 132527535 859643306 392713632 904914652 449926045 397284734 162395958 691480366 303644876 322066574 596639724 327839759 355891869 865228123 967744656 606077872 913868015 466643034 677669941 530088945 528096031 798985239 604739875 499561493 838925130 436847013 239739403 422258025 467577990 914915908 507596103 707249907 527613164 847433623 564595311 146604152 647375780 571631215 187814862 525512953 409860433 613047698 150439997 645230542 824276198 956976408 946486224 538729106 813668316 886633048 111812308 346071540 212873851 333182642 508717042 461264602 680755337 660487196 354259787 279307088 153057529 736719806 852181114 366498628 824382399 284216592 991407578 164560607 278409275 254639737 454277022 784632385 432745812 156599826 581822371 430112938 826306017 714375256 273980698 907180521 871986073 151794220 388578311 116597255 105540789 710463237 102494996 900185143 483092562 148538148 280442263 659036396 325000113 668427139 303610721 222442557 465623136 334850728 489918767 734789544 639249809 983059796 348688744 549724493 624022215 125859252 508721980 606670237 405326118 565512424 584985652 788374787 981977779 810549529 399860254 768960912 349323274 148630119 375748908 390620512 962554733 460208346 274470837 757683531 861312692 506694668 388865829 840185173 821592907 281679801 661149281 991010487 539892440 312049525 701085697 116291323 841823170 853641685 190210036 382202399 800441333 776881067 660795394 345717419 188763523 762817349 405407981 623952404 449835091 402980389 396327169 794067287 770717977 391005052 746037617 741855915 558787654 948655990 471990000 536462679 960557296 510273458 568646142 131764665 286481565 742699817 244899740 889085621 161084980 621980206 502707289 328112185 411213908 624962871 649668518 144535515 455044932 857104834 211969317 874055512 566457456 843891746 144569123 336142721 758427129 629361665 397887583 293225075 713808852 140282636 844432977 528138309 261842758 952725496 226670577 628922296 908032169 897804349 726879515 740942501 639898239 495153761 948546972 876213867 848285497 131532044 658513628 898334027 792849083 409508541 892961257 774519528 311603822 211021954 554431911 528648238 476734761 464614892 394886260 340553376 556014267 188565545 838531418 705663151 129014398 420689706 107565761 790598971 235576533 788165478 349504630 681424671 719383964 598333971 798062367 907129748 527167722 319414088 552082980 253609349 691539793 489916666 482780587 434754829 455995520 382032578 638469011 780239982 216075584 463036697 559750000 831175844 696428097 989019102 945393643 901351882 281218559 963050047 299299257 819263801 589826378 458195450 768185809 493145586 190870839 839821976 702833059 981855273 113382568 930313982 465138442 307012414 388720148 766998935 294474230 744328704 607823168 999247214 264634940 489399125 484696960 737827998 459212635 285912241 709970608 205665495 334139317 639958242 861355323 489994129 771743358 938224286 119609008 704450736 426645514 281486384 603082258 870667474 498237068 481729817 968680374 390989769 908257238 327392087 565669850 255250236 934629596 685594817 699792829 522451378 202220360 622905323 326499900 721220973 964077909 281717392 611508283 440424454 580675334 576305627 118458747 962880496 168343428 547833088 795288399 358463053 368113155 517853119 647166199 577435549 410461834 707427857 415108496 502463883 421883595 990810904 765542971 105346956 642378310 542689550 637642281 840103212 753290332 934419452 404152900 190757770 907844897 223315391 447226537 977796581 727646062 444759496 182541772 965607341 613862475 357355026 586836268 348389383 744716450 842475295 689494705 351164896 527335565 678972870 278851623 491824839 975100927 831582162 813619447 820922296 524389973 269216495 911624486 590734561 386974615 678634914 480878245 278146300 667717001 762281444 750199627 820127192 291077543 968141610 653211719 862659509 469241126 978780486 745508860 455377399 908096895 291838737 869037373 616189332 414201092 344489141 498968076 837116415 765049921 242882418 219202151 271431118 600111156 303001734 970636292 783401371 498823989 186045901 374472655 430041672 764314768 637654107 290299135 527705839 755628763 677732417 240389292 575581992 510625861 289714386 914968282 583002704 594463317 331652953 832915348 527712878 351796443 958460817 272754645 285390277 708389819 520755030 238130906 365909091 472813844 915603719 931324217 413702652 586187942 866207560 576323410 421208464 832592029 853929727 139380410 265198628 337421362 352830440 217246244 250643451 180775667 717850419 917166271 551240907 839168328 588967306 979518084 293697211 125440625 342811646 440799248 419480856 841819568 631771871 704526405 225503797 761637667 313871784 389442969 809843322 676172182 606564725 421729674 204411017 649843611 956554247 223945568 965431391 923482224 685322810 109771554 261298975 362653292 576418268 934372341 441467553 148243135 431258481 876581524 193016471 608181152 990776473 823482907 117145362 568970962 636556646 368490081 790982939 507517899 638303222 475081332 164477522 800666925 914493858 316229521 845707388 754293542 664972664 853898410 509149597 375283748 981638001 265632941 399160424 982361553 979203505 380408320 269949961 916427320 486901852 343463471 736403816 720609290 410505162 380043138 187570348 163684307 394953760 952285347 676614517 637424796 706066017 293113862 109487813 266467435 959147968 861353117 490540835 489824906 467525433 609710149 853921973 263879962 178092344 609617157 658185080 688593012 994224288 880675648 393212225 436687124 139007672 906828409 450579836 872498736 366917573 350458040 568916667 325764420 886519767 662425021 796325969 542750369 156651146 155918268 554440598 307893291 997951532 637234756 365007375 345801945 965666419 606852186 470085934 451037766 391689957 621731184 959771883 739642447 792123482 590685131 659494859 222174870 115247294 843387434 443406090 447380144 655952634 978931321 802432673 587387646 667221893 688115087 475321825 892771740 954184761 679635792 571780123 601477063 663435021 846119193 512477243 347920025 796023685 709228448 232044556 730508822 375381523 361720046 818720611 950282585 605981133 606729399 761415029 226538900 393378798 573189726 688839241 428732274 509614955 723956110 891217420 940562963 355426754 637402602 944045746 462261934 495097004 222747015 647727015 740238942 682795748 498427002 700621394 648526370 365377754 665412756 763174360 961488734 425848028 197943987 178044131 592771627 942576271 744078926 584671681 383735634 197585821 275574920 594362788 507441866 135676553 493013104 154929248 598172560 659128860 556476518 756454905 379079133 600019372 491195111 430242466 510069976 892174136 292415083 557306730 251496430 123775726 794916772 815056011 997168495 570956654 266299515 810982265 391777886 452237366 916255670 360356370 508558081 528063659 322421466 827028595 128098196 563434028 929427061 394407425 654006881 145316680 825204531 877325300 605657366 562441443 771956366 223741242 869388807 673313539 128060585 305540660 676942185 365483124 494159055 822896420 428985325 272439741 474381930 175917438 905982706 806731901 606295035 265986327 921377201 994587912 220088272 465064262 137917181 106717095 242758459 193675959 199237058 678791091 275608162 252854071 371425572 534472456 238135999 714924196 982885547 725950820 501891607 512885064 663679483 779212668 450695698 992447174 669807671 337411159 998766677 119967946 764890786 264533018 973084412 296743567 660637189 527449646 610465965 664525729 730380899 704540998 727857104 275979718 325466136 921001460 562962308 104998373 739649059 501110477 788397126 456322781 897725205 714990490 685946928 150838162 894777741 643217686 592582401 764388986 108700357 654417498 424373403 877718077 588793413 421167859 525002818 549131636 558372821 609544143 191961970 408626450 164691684 204694762 231308475 515925728 843102873 520016906 466894002 696596096 552192179 887237880 820613133 298267342 375335339 616906010 582317604 458620373 708890138 562002148 985129295 340408729 649918274 961516795 889142038 340308644 967841308 638806359 867723671 911619318 665524673 989961086 436475623 238335313 605482006 656721549 277798223 563322182 259276846 161313491 548486898 748590082 339375968 736196989 555794249 526311532 902865869 871497749 518784223 414522956 836694468 526534526 698913953 325452204 542059095 756717289 958176910 909177518 635887746 545833605 866586454 409039289 261582356 257537532 962334355 557891335 236509614 343555807 586258871 223122637 583015491 479078871 323461981 250138454 838474216 377250124 581571106 174272314 570343174 793891048 592467354 701273263 920010552 421864634 880923783 119298441 739188648 916078460 377008346 205107044 545631769 283914447 709946504 366965219 210822225 564585586 994661823 189085223 152695362 446585562 646157130 391331293 947727350 515862342 340615439 865324527 837974339 833248423 603563043 394128832 352659884 726643583 572498359 847536527 702398326 338867134 653591011 559638198 724512031 997215715 757004773 370013474 534773573 186232459 248239868 285957272 772022672 298067679 213499955 656194347 798156169 624584798 546837366 513990630 287285921 748251390 310431227 158015855 561947558 562479458 411370184 372992053 184827617 473453653 759871039 927783848 700325858 995099775 623164884 566353029 173876670 468193080 488999379 443420446 645725857 672980275 885672611 912873274 669827392 832794265 551783723 389865153 700604850 781907095 974765482 259518200 475611895 272134174 228087085 547044504 874873825 552340997 642384847 667325782 542764215 740376397 844091835 282837411 960018369 926343999 579849724 110106725 223634745 156394326 181506478 593341599 700632076 176516951 958821108 247688151 806738873 941380868 796167959 930322238 708557362 154352083 136260273 604858669 739188513 310900261 964083629 912038325 848536187 300069878 872121435 650938285 596037957 671156105 595882746 750760458 351035274 659791120 108554813 139624907 244937897 995645132 737118369 651666667 728488183 990738197 730976374 353165414 778296136 410215966 738882020 212599824 918322239 696763681 272966798 236814295 350047377 180123384 216720380 164525079 781494958 862124972 368411322 924765990 326360938 864758786 570749930 638178482 585612057 832747327 354529722 373970098 617081258 540581480 597655758 894644937 407586943 419495919 890947260 614425989 721122911 411811403 488272628 915870946 293454678 528185981 558598460 402618610 246547361 179560985 295314469 401435778 941267420 984516908 947983686 604023715 147659855 883540088 479654432 384918256 907930834 368851718 585643835 247574472 138606509 572684435 313253716 124014620 610869154 603083106 155568830 295116632 885466029 249863444 420631105 187083852 664958427 769860639 354744096 278692964 349944571 934153331 588223682 375006244 743091437 299585754 691501787 279141185 545525936 763090132 804924384 731776230 562686245 867410776 816557453 338192785 892105019 360768639 446801552 307950875 331690438 132150642 374264505 268639251 816194362 404438803 845369764 731755425 108898801 831846991 952555057 532011855 169624240 648039570 577087139 647483012 281590847 595013029 455575657 463377819 972947918 207581498 608532384 284054481 102208665 263692550 391957882 431339720 376654292 702694933 413935572 810244064 688461905 885460167 470336209 500353212 800523072 284069255 865013209 433301110 206270838 424653335 373918719 448248407 863961489 798261631 505574580 226522162 721605348 276850315 995962437 158065720 624165207 972449664 895302929 541722471 338729410 115883453 190527641 112188129 310227757 642044388 914643349 868100764 846963628 311603784 493198572 430334303 583515280 548805976 203189540 742725263 843497680 466813611 702254425 215171890 300885587 234523545 613031639 177632703 599210738 302952910 172966964 114496871 271111419 248572503 870413806 872192689 622410761 751110040 454722110 297432448 477578742 870295482 661190219 982917086 231542533 916779239 984106395 526860690 173543796 749494224 842866807 545999980 544003821 159288868 268239473 257028469 443554858 487267230 753628277 793701292 463324783 469592593 132756425 614713139 657847271 636365215 651827553 193286669 453000100 231439239 239305882 465170415 408689267 809372240 805139729 748478826 290442074 799214395 498918824 605648026 208191934 131899398 670644888 558760715 310177724 736858428 360823615 605495617 396271702 876671518 591222289 682998315 599612812 752678499 384942373 177961613 485053006 797009050 682049575 852944708 703503715 127818198 967496521 606969377 997560848 603029755 151285075 268899184 796208463 486920099 474553057 103493675 574087130 961986669 484768262 111914591 968940132 501810787 219467664 654265760 532697364 319248029 367731757 331768538 845727480 258692037 248118034 810462636 484679859 612273831 563068126 151727307 257830201 773254580 457790680 757299116 451570091 313674734 947439742 998364233 634981323 203558098 999520066 607926642 813412831 288582798 674297453 368844533 665935118 134624217 810754751 565257088 527871389 410052644 421682198 235952174 999290513 449607076 191861968 644062241 927704668 551947882 878527243 398464421 725224579 165849591 542878050 574691345 545560523 736259539 978686992 242869435 852643208 270892876 594650702 464600850 893442457 803535338 171313108 892788106 447252585 346685440 687678157 237891058 420552290 708324819 647616667 726268378 911477108 381858089 355909268 155731876 160421020 150759522 224836573 539790461 213490049 259961759 816248914 216915804 929312504 127299826 813256538 839123725 706979923 255631811 520861240 803491758 885133237 128058090 442054224 527188665 552793592 678527124 342945772 691719050 192432731 411634481 839457052 679356590 873287454 718440403 446788784 526800567 361794727 125784681 577912459 358809722 454690094 134360398 624365157 561675186 604143559 713286999 962747631 393793178 469539239 487047191 622272833 816819622 756621144 480578040 112057315 278998048 975107495 876607036 336492279 826737519 906519216 723247255 413105818 143586265 283518697 498900320 707770306 946153952 829355817 823144706 534325746 530144337 203982665 319820906 712918426 468584474 405564164 437181650 778781707 158198102 606507576 111980431 556862403 322753261 116613209 502239424 516584086 440913416 340790496 821015556 635264870 769583137 525505873 674741706 975796580 294112185 161402563 548680852 774414389 619444137 596264906 759851289 879245428 791157964 851327222 266075673 748371661 809581881 861227136 920705909 350355798 298578691 751951844 843386580 926762169 385695333 988101026 403893584 614492618 490881128 776633696 801052273 416674962 635050498 121060956 349183248 912219693 588431546 784730468 325150858 865476098 374666415 630778802 118930005 785323934 246227764 659100692 455513810 162737356 413432375 944589723 565093617 240130110 831633513 629684039 437093383 318249720 150892911 304834660 326006284 586337105 995405317 714705279 382092103 123454602 558292204 958074743 413834252 820168391 479975046 501764905 929228970 611290436 961276270 940496931 474210884 522526461 380507949 309859198 315875325 216583325 818270307 447933691 276152864 782507663 176932512 631607850 474848517 192888937 165825831 626921846 505850451 569195605 402816488 210028204 522626113 315256575 901703007 244279752 576223847 234271026 668281865 285565757 506046284 496627197 214257234 938876173 913370013 346878784 405011814 656674463 981146593 749193066 263774998 352704930 465841889 502446055 705275442 619003524 605777640 228246305 897064116 605104794 892047053 288895665 562503951 374755594 554369028 802554244 716589905 855962879 785137249 508510976 581568768 166481406 357019193 938300413 164129045 419308474 122386375 999128104 656003390 711328743 737304792 907921953 352953060 464550065 697435012 510505256 681765680 622207869 156219179 861459258 467480676 320796695 436195152 917251101 862375735 181099686 405812666 302448636 642645907 939913547 454111634 777986985 422598618 720600935 842790264 542771932 402540029 355285250 441955687 600801760 641182544 715885151 282010811 538591845 815320286 853010912 103776057 476669757 613442420 677200138 649050696 664355728 183999884 834057845 157811930 906665304 667396116 456725453 924595971 188115317 665036304 387983031 156190194 529366801 419151862 571600096 308497828 579077561 998887347 708977725 298444167 469168760 404673395 507997232 951325928 990886294 647350579 393971485 275083643 907543726 966742065 136450518 542616866 819596431 100422711 226386664 266508396 757084042 929603810 478816701 503436123 853950651 901806162 400250841 655582071 548751955 486894530 233073413 970416190 785654659 908548739 632227056 730832358 670282312 784377903 261933629 978301639 708296254 165143534 893428606 913680745 850441468 783731594 400922197 257366740 304379928 171441906 235875891 768493125 585800295 526998897 976403751 205530433 966121735 208261829 593709938 764432933 232365633 529450578 249915585 471870352 464224843 101469549 545654659 380581501 406776953 224259507 256165858 402597360 178881729 734081717 949343506 795012420 317456344 510837942 603755457 474170654 874649487 499642774 951533245 774376077 988648108 276315527 427184055 625411642 701346571 207017782 429378431 802026137 310833302 570347399 772850684 209411660 943982228 561154776 452372778 251528123 963600180 430593651 277163158 964748125 819458545 300541682 292788752 116516944 238021600 510774890 884909092 443481682 946143105 443021419 668640508 607573694 386123784 554809872 957472200 354262080 153729004 757875401 865176103 150727582 802133101 418485945 395883924 453054680 536317526 676403114 597789693 623810896 915912988 493867948 812592701 946427414 429015015 394010029 390609910 734305720 865503465 688994242 938412987 277794109 337889815 965017385 359013722 205555485 705159471 378530101 869665662 574894866 412598011 472422287 837292844 329558761 666422120 568365462 257995251 414338525 660224522 510828986 912790312 691256694 682985554 350891134 955940167 269298672 851942159 549931557 530664286 239952464 922827909 800929421 913375638 256597904 280324620 736272951 958936203 483304147 690741621 824553228 843020532 244067547 481408903 304768117 649119858 814086928 138506557 425641343 899995714 234743467 699025021 926793694 706015825 762487527 186873755 302009938 147282528 637279000 112522086 904038098 453952608 662194069 604013612 923014785 415493455 627700052 693387003 866813130 318839001 397332330 777170264 812286939 725339938 948781021 900527588 139777849 894880617 852637505 150470902 920070306 468876076 397189907 723397634 406080259 825695232 182859071 565227460 986037954 887247810 386543467 535142030 484174695 351924036 515102929 262814901 152618318 383244143 968464037 910460229 220624899 819950280 660295580 975716493 630012921 264871226 790871369 838213725 845125303 657424928 115277434 515722349 300899422 280144793 244301837 909320967 606398508 149646798 391376289 572606397 535079160 576684797 538580466 691880010 620929114 888093539 530809779 132107361 409229776 937444901 329671035 611901711 336946058 939899625 646894788 722996374 989822589 308928457 107630924 840569373 353667929 828406571 699136445 916695802 809522197 608181561 242233754 341043619 280857356 838524073 673177610 880468512 665281159 784780041 697590745 713479168 370103175 306238037 818090841 417536052 559207513 661752272 625475756 231982824 996795563 882464694 984805486 156185336 130099924 691975113 960329748 900767292 777893747 436345673 835127882 799412600 286412915 981149227 992698849 839020737 858907205 517653282 951052770 776584479 202288159 936499124 134465237 193540414 405866448 462428605 516047215 218480507 127480934 935542834 151754687 944647719 372557271 179651675 576127317 592414066 536807650 979989852 532328176 322617822 731454717 682630709 375516821 561534917 152745070 603921279 297998480 914036828 301866909 297804896 466543858 318905956 176201204 677949137 410173379 376566785 307172899 337909926 690298678 493784894 614886939 889554273 741836550 452699983 128636180 526502078 816231390 411393273 894340923 672921116 354029816 763807913 385876194 784329604 411432551 881804054 954932356 849862408 140476431 596389487 120719155 771680273 202861965 735706326 296255175 434726771 821757451 505593736 871871146 209914251 362225763 640083655 743998264 829149549 774058895 420058391 852812695 971905216 750411285 625470413 208392894 824615579 872699204 250997650 945171918 336979286 918174169 893822431 205536528 972166047 582051107 398076790 933117327 535132103 194704579 668657302 541572031 361456429 942021577 123053431 965891295 762163183 133081617 365695728 432268609 802301586 269761073 231473552 516565130 210765641 485796327 333538097 780492061 335933561 801852105 171906473 874635387 940297825 761931408 979337704 289824930 297536294 333576939 755177780 303312564 267727205 152275301 157045819 336940882 636093510 521334764 517579313 881169674 276638186 567113977 587501633 377019594 125611943 350441693 498417552 722347835 181427732 670134288 686507000 563342257 142956703 370493449 510989423 987897961 220263413 837303006 422719648 469448536 281716772 584600272 823412091 943351953 523321834 848692219 345549616 805587755 878540037 544319379 851657951 314305686 276279482 986583839 205663416 504525402 604623454 729516318 921931952 522826300 167504276 817977059 297022955 876923729 826726037 904704733 730632225 648555843 869996689 839891648 422473752 196786696 817921269 476273581 846410213 710743052 780078811 259078311 768526191 554671678 252258844 388316037 253755424 534901367 898105621 473915208 436933256 764338913 356286082 780366069 367872286 217379302 995328491 613900657 339343098 100209784 614269586 206351969 849843720 506075361 250084874 796511425 877815711 299220588 969100410 658553083 822279418 435264521 569725120 358439505 252306777 381557510 205397724 666875311 107608862 560388079 282830764 464336081 391274764 268660343 533997490 945947966 176674458 250754286 695072045 957341842 693278350 127180134 366208755 905203079 766161506 638507353 248491858 852055179 513803242 627227021 524044367 977861688 252846261 844072391 950077557 422394774 728955321 812393633 318900546 782364180 885440217 670109343 772421582 315930586 432712823 204516016 208183221 178825974 711058017 135181940 878038812 747167181 547899710 359363264 696436867 216679274 951443353 153889715 564581653 519904860 391172770 995214239 967633011 561074170 562550441 331249525 523885496 397136130 495546271 697493635 330953888 355939014 311635366 606037314 690752173 142137367 577288275 639001104 549451572 275318155 990606681 281228684 707875741 220274399 524901015 243997136 624047696 998655763 991525987 669016476 618629331 692061051 512443474 516795789 732255305 277944514 588397862 200288217 748486875 815284278 957393574 658499524 971202588 523966498 291374078 221080994 961363858 268659823 944191749 108949884 855338503 169784433 481357312 784610227 180144803 777348334 159896199 724309043 370505488 476639187 414590448 455408487 738222166 201896935 573262822 814703848 744098473 698724990 860072728 472798251 697290307 311591886 976437320 950391180 907982240 783444137 672308260 520036946 626480415 452767724 579707610 300288701 405122995 730690781 218314176 336087491 862611379 743494477 957879673 200184817 409295304 644005985 926613892 596372276 380491009 917709799 423521015 466854730 567157004 266309509 330224332 675180810 725339241 230635179 451702550 925748543 309699130 731437373 936760397 533088481 643434477 381294848 171117980 651601795 987774521 706149293 905552216 532340649 597225223 281928659 652491379 169109516 550273100 958840306 835428460 359336833 638714327 587200892 657855127 675551656 325084509 304251849 912316628 914762603 176437863 278571892 482434635 187421888 997921176 979577605 552986989 371926561 250977994 705864448 524526590 688117821 626544708 886233307 511190088 518062149 584600171 990387941 933559118 712825893 323818802 269784800 645462534 588967155 990915681 731753168 941883988 698102742 432859117 854783116 262067834 765743541 691354602 347133547 242322804 110531488 198243546 787640866 748349225 638827348 416861445 166776661 492757843 647784199 311875465 311709122 215542335 466562442 660482162 750398659 229149465 665816302 937268327 545075647 197723453 669785013 497505406 637929029 652690009 332646406 694574850 846496238 950601027 651089805 205708341 455667396 573280673 197892407 765461542 693493374 435762270 216200196 308450777 190349994 372862622 635456527 601652832 397946190 947978107 384256364 550659429 986457499 544100727 197654707 773438548 531244619 435068744 661921847 398348457 431168338 402399041 673583513 634281297 994003121 510205883 977705540 163930868 398014045 197653257 292298144 538742695 906435975 210128124 708937940 744136766 322048426 704646828 270206830 318060407 367709307 877712681 340116046 996754036 409163772 988892762 498964390 919894923 147750871 309991742 148292011 120122097 926476119 110382978 948178752 589191176 635450317 347024720 620703610 450103850 560112085 304210263 849798071 916400498 811160416 415118642 578533032 716656724 860254409 966974619 544196287 232286188 345221945 248288510 479496483 503721674 222449384 774742289 116474727 215946811 996835821 739101164 821022155 552427182 911559232 146997886 501085971 156820688 974716045 743798050 522899436 232189600 682799573 374725001 342641890 717623739 643241152 310515204 501351680 763531635 421216240 912728473 720005787 398605812 339312979 334340334 631079927 628036560 670164425 636336942 709508886 333444753 480187126 731386971 408942524 725675834 966115270 831399036 604960289 638873566 744161463 620222673 986769491 262222908 261942846 792099362 341896262 455725705 695846137 985111842 286449306 141163835 257274048 212030826 973961641 360422783 639104026 706621881 401673686 414399577 269673241 519143347 219543325 175726885 786761379 253591081 938780741 183372572 196022557 432262850 618994154 562491655 849959033 403500137 639165061 309650660 867046697 202897919 899432700 228589874 492850942 452771256 843560696 959973131 920704100 668553199 690811111 151024115 436215282 904694829 992116868 824534241 485604423 613785982 382504177 866203447 979978062 919691459 114981043 240974225 510466014 830300918 487939514 583428395 448739369 417411185 835991184 814327937 727487616 508473430 274735502 745699519 614577319 869911765 273374227 896899420 584976638 550017384 510079982 372832996 298797509 338010194 337821447 745277983 436282478 243327825 728595066 666608309 373099134 791950686 496821913 551935787 623176382 789511918 712233825 184790887 808466616 872268811 550182603 537233946 176260079 469386614 437846218 657043199 918202544 226979504 214188636 706855156 157447380 818400150 414612318 738874992 868923722 238815860 707580039 299148641 623286507 517053819 772838632 884234413 415696763 329312653 685546219 610861135 820593744 912384733 246295981 317443187 839718858 588019108 424476219 302200149 661023935 110804062 178318930 640232099 829748920 390749517 646559131 169353875 269692872 775183154 872244718 757512315 382364444 984571359 163134730 932232851 259636734 559215743 350582200 831649529 844595598 664390655 820506612 643886705 229080346 583609150 129870554 444868473 394170144 258681390 830670693 674643747 127009289 418055157 962798290 171945386 416821064 755786194 588003052 315509671 549391927 533443323 190973850 485078508 715580257 227171752 133547540 603895459 166357782 631040031 259990420 474265419 996706600 861203266 617448483 797460317 225247140 531037915 891705835 906080860 282674131 251011722 136770792 469070415 468397629 999013789 276171891 682949929 314721298 139925454 252701014 970736084 198317379 244451846 239396808 434673191 469442364 546805850 117408610 474640489 372370311 622242841 368834574 176058542 338635924 559588494 389092664 678048363 115609716 452021112 962346626 872831170 500112214 742953773 841809682 433289395 300712395 962933136 428372336 211693017 154618791 809745927 505868836 129417633 908408826 101961649 576266200 749753311 533700946 843950288 274682472 359344412 942076276 477721172 831472270 671576523 840360150 575202187 371773580 353258242 765144314 818182698 424730682 728442610 581083802 221952948 510419337 888866996 226571994 603030275 951338298 468661264 838090683 149685022 988955950 239871231 742042576 923063116 494891499 333408111 968328052 121522628 140084723 219046748 981108988 171215295 150592287 158577254 995972300 731865913 594070847 229152191 380397072 403234784 552871279 237459636 785219022 902073852 916992017 195937082 573577649 539266278 455040595 397284225 633892411 892570255 988389226 582947359 547378162 303247546 519842854 606502865 970363626 956717177 920409893 491297987 188256199 802529854 995773658 756417142 801564054 343812207 364288814 822276535 853963899 718022483 652038837 455406116 725327768 690117309 832955443 617715061 199225012 759421963 688765417 269315277 786247900 690636676 527022325 288290790 201021639 324804102 499778163 699347200 934301845 314556892 848618679 906387500 294959229 369294930 261023525 892554426 821338208 150310660 712821560 345937869 321987276 364327449 814542461 595779169 372116999 241896437 469731724 164728633 179944830 341819216 902621990 545009009 644947487 356949339 265874916 816871419 271420996 486270832 111080958 293914972 651887920 175537891 387301594 340100490 803340469 837821050 941772512 246942371 684895486 247514010 101243165 951587164 416046529 655917679 822582267 972381267 133492609 130731354 955220881 579911511 614811995 769132859 306448116 110665125 959266219 315841008 677307922 813299666 333234559 789498222 754617116 251190455 243034402 694547796 965389884 989334831 953521085 395832471 474237964 479243149 826182609 837079287 334825852 810789475 436478990 811132815 733223599 160832472 134462577 812964931 464316662 260702487 272423182 415533606 290607286 409812138 131745425 976531719 706429013 793739416 771813796 358685402 142273768 351486844 299432472 676559130 598618650 305453416 900053461 322972800 831070255 747231757 127697500 230472684 949221241 709035474 983413190 388682671 596696881 599438311 927460813 643752740 458160269 374407459 313534182 410899083 865965938 278373598 273329241 108003799 235449620 862645061 327418573 591389015 911191824 551961272 137178467 796389070 517374916 377211900 867272121 713691423 814496434 532108543 509038208 346814720 419048837 725710306 617646934 775549231 307999603 631773732 731539746 748814072 503487679 405112645 373615382 615890511 493176592 396431506 106370201 914899631 927991447 645143091 560962820 551946981 666113563 542857164 530292326 111245816 224767397 399090098 634965865 120584722 503595666 651842986 810266714 192747803 978703188 639871904 170723928 877041900 323716276 812134799 667131487 147532781 522675025 986046089 811855210 700158787 852125134 582681981 762028289 858139932 162000051 799185325 961753637 274815306 765697101 821696764 489710214 748668074 485216467 520792631 754193260 569594782 349721076 619813820 652539796 661483948 689854974 590914732 675266200 107454023 276013774 896593006 270426270 213539824 430938563 567447439 597545761 219699362 147530302 610520823 447598667 430472116 485363958 488641059 250466766 585533081 826459047 555703901 949507737 444683858 438055273 808269432 425643867 647819257 359076207 505448041 272625652 178546441 701793601 802577573 507148338 765746244 257641018 986430442 499417258 687676623 553429275 455164720 936677215 759479954 295113118 728111616 493134755 542585856 254587181 186864778 827219438 666452634 290958981 674225987 311013011 317378087 610557015 919582487 303010635 264552836 423016424 461462226 272743107 866314843 199523690 672224138 218584428 270394332 989427381 676554756 155689379 292080667 512033701 476944723 658672863 258368003 268660600 658547436 721153645 804420380 480747183 771919998 751239026 103693803 132845182 482309592 870494101 716319359 157802673 379821909 210509738 524348389 190909353 994217553 575935306 232405996 774998812 222392080 536110984 984296566 521583053 616410134 842792075 750936110 256463595 169078667 792961215 727420564 473375255 409504138 828837531 410553801 837943718 789059570 525788871 338879035 809115253 819794846 585403774 336461274 805599764 457421575 531881063 201155702 903190810 595168105 239854237 890027717 402759206 800964745 564580695 596916786 705027606 172664662 954279067 723864474 675017743 983403154 971258043 642237822 922031984 302395762 154285818 672286395 877059683 674244423 208858916 463006046 227654688 198153195 101241216 695387785 913612248 321976221 208979777 580460144 355262877 723658994 373075314 587447204 169978624 723757831 810757793 387175256 280346743 359198816 402611092 608922094 788541301 603039016 487837798 773973432 984267096 980547917 994017566 262319365 871816606 404979067 762413675 589516312 407185243 333215702 734097473 726357440 587257311 121382803 119885677 108984088 354233484 383741096 164706254 967126491 988633069 421986376 354737865 679225621 843262427 327234562 219638772 156963059 370050467 835397209 749864562 124050046 953872350 768576867 361436372 491029436 573246064 461436965 756847602 107457176 695579480 329682865 459533680 399740056 287753674 341935786 563122857 189530347 317317213 276700870 539860266 171130387 107694983 117048515 501838112 853017821 869267486 917832367 941314030 237030011 381331183 457010851 358243178 964409343 315083460 212660534 731075755 623606390 920067312 498629438 476518073 221222734 945356145 643322938 244350529 398208317 405990264 330036647 103671448 686492291 650983900 640268445 643521660 118114570 127203356 401320072 730378144 742714406 125592679 561359480 381008566 876706353 931722403 667005675 720720397 657855661 197530525 213650976 240501675 776907383 940453931 693159142 259779117 755622412 241234418 940667604 979657814 926108173 195881332 567459354 377667526 578434750 310300333 116694454 728592969 904050213 779113965 828009010 291619135 771313929 552448287 240778593 836356966 969769563 653873390 664882832 814883367 266208422 253695015 621978944 317082117 800916633 700018105 237520661 815405538 210792046 453597095 297641814 668829408 757208707 815661194 772856973 864404114 995424412 181909002 764793737 993640454 698616683 844822795 391223782 687014638 730039492 221111268 495045772 857093574 789379019 713302982 769863459 812151918 179508621 935991888 769940636 589605625 938369925 887653419 263170340 598681333 161404027 549744142 816620115 299354591 679373556 996118909 706120329 830189692 513074950 784457194 253634600 248432710 383532816 976726851 247226608 906931506 691628745 977937051 858338628 240727111 566259291 380227236 645966707 501995283 776499187 498287055 990285903 173586649 118280564 564721685 972056685 847927220 727879058 228328121 250668913 507907673 720079598 977209706 241966557 757709856 150718817 774461092 173756799 352888728 929545010 570381129 697955133 498561526 292853780 433091826 524672485 266251664 494577055 246152250 568649534 761290820 240312737 267497899 783384564 772369786 196912947 924529650 622083554 599048853 120962738 332985427 113192416 869253662 509040505 277115396 697183117 252656006 247222897 238570812 927030648 679861983 770813184 693092999 336713008 755795157 555221525 645651737 417396867 795957069 105817923 440269962 904518304 456032215 232470671 957553833 889694502 858228127 814876995 599253292 959843117 765779339 825657767 649541894 234748832 532646172 235446215 781560566 613079198 203732152 169253146 633560401 506476185 770012347 631122897 769176445 871226999 298401128 616241334 999138408 269735511 214621502 403756538 406892357 508613713 233573556 972893082 431657639 837146551 654439739 444336990 978703970 818422654 286424559 819910746 178556643 588620158 761885900 115269790 398501092 650632123 841611547 819287354 920057096 480640690 463568204 632020366 538814756 944523416 429747710 502830151 138147771 213964795 832524431 286382294 403994634 884717799 448398012 396521518 430617922 437251606 871817870 113532079 624663118 685815369 413821700 124418490 875167045 849906579 996532675 287665488 261812232 453534155 573707875 365911974 844793844 321189402 397837712 620127649 242588542 990935989 843102080 778603443 611411163 375571982 981523519 262639964 758617216 918693548 788388308 202683758 702159679 267409698 310192017 721411169 280309199 790383581 632614555 427073777 589058623 730435432 373357627 804307818 346818540 240584384 558302083 444900818 444868543 730621187 106773815 481136103 604676239 604277532 591318358 886158893 373445083 795007584 599516130 758907888 492473810 877950500 763088255 917098685 860655555 761535503 261189088 711377447 233776431 346661521 936768954 615395332 536883957 706833636 422434802 397172752 437927264 871866884 313701132 820157031 477668627 808219566 943721112 688078121 920136637 738039131 109060841 450552859 904404985 211329294 775740263 456595667 691725326 600969892 820634041 327345482 997031820 321460602 786452277 103399094 920647665 758393831 747673795 964918892 282943153 733304967 127751924 365122261 288349575 381476321 838484924 928883605 354600322 966599905 517035549 160964370 414847204 752982074 799967841 585628868 478784261 109566788 518558534 837404130 271746530 481644695 704195486 405709913 882690937 928515556 733242153 128595202 125818560 678610760 130815070 159560927 185990301 168222580 495760791 685876843 407138568 211122183 766031498 998433537 338062457 218140672 318967067 394198465 464185432 351086107 529404891 917597480 754246054 369862928 295753831 700819619 906189401 230564727 257362021 730281623 185275965 633975593 766912279 857040004 577127607 381644685 249832100 310278015 798941720 333403237 864835224 905354569 402986640 120722703 907649307 152321733 162732632 317896733 365208938 338722719 480508375 862676802 108075789 118484546 836868926 628035330 534787750 644575483 947558477 273252266 304921763 735718477 669838621 954718846 944247770 631999392 996821148 900796281 837170941 488250496 506343229 656524178 994778013 363162349 851858889 721282850 214413313 649484203 380312574 855889042 969523679 177005390 477100949 445871076 868574606 168116015 501322615 320411095 448447007 298070219 226427352 478496387 842799957 461131423 167308444 935055173 514542105 944653553 776953928 722760068 925632099 337683410 661685040 537054072 459179905 629983878 592042792 377324189 649390452 754711595 628386874 518569375 280914706 282777405 572432479 396589919 626488203 454992251 734835180 885897230 677741230 440435610 470489510 613250422 515706712 677542020 895065463 333843497 302274871 959371129 855668261 369481892 418575051 451629509 236137003 303795459 673708313 517246534 130463887 640965445 847197537 870121160 298851993 197410715 770695352 639834083 692410440 753386021 622822357 906075738 322489188 919733100 230269814 206790469 304501043 316233247 248539670 412881953 495939341 973079247 307739679 800874950 561572599 888754325 108368685 122020007 247699437 296263217 929176860 816787522 565653515 962416920 223733870 157918240 306048762 213142167 718884537 603251763 243991863 793560928 806060834 301660459 795395850 375910254 235562817 554779135 267851583 986952635 737649965 553183942 687875231 610739283 690170801 355832557 308671637 508156084 607814046 487946360 556058483 146287486 774467658 371362167 408059552 260537201 931155339 306747784 896556125 236028777 862117185 128326999 947006587 529030322 333504115 534629619 488926304 749264400 284273538 977060480 917162061 238826303 478315246 779126581 593970570 752937823 634245191 191842204 230607406 827925620 649567004 108576372 431272370 817129616 320130831 821720452 932007851 834530142 300557793 116472355 591057027 305001682 102548415 484497963 276647193 534638281 339333415 850461133 867623566 219736280 629163184 385599557 881839102 815270173 693989124 317624392 987933944 516633894 627350693 696630024 593065183 153245180 857894736 670348581 493616371 987462764 535301854 750327745 734095942 835981464 302710078 103305419 856525518 401817828 368107564 173769327 337554780 406415908 618573088 328195575 288394460 520091762 135184604 339326797 374083180 262600850 488632959 872613721 513230745 772055568 912192490 696963968 190031108 163852209 976016455 795566209 133798718 609416133 314448096 799769613 228492630 597277885 809765188 244632462 344162991 665983133 135774270 829984434 784276706 736015699 980782755 495727022 580952922 170943022 686702218 971445841 139759713 704659659 652281659 909494071 471181392 621708098 931487375 512644329 927104915 235809107 395220533 762312002 123335538 817369709 870777979 324636612 453380593 407850708 501736564 424478001 175580352 178151894 805827558 828664662 792597837 998063359 119647813 776545603 413290115 335648699 946061771 572901419 119560018 368419890 156391662 367784007 585850256 421841591 857684849 511472369 930577474 470503554 356215965 105731276 879334907 296135966 558097403 663010701 835333484 832180124 490979438 532206598 415236986 380908394 422744238 948298114 525741570 110220274 338054708 984548119 848057258 639788060 480591702 583632503 617348221 369878810 310981000 611813441 951056481 635093047 563650662 328316650 983448297 559756424 589517465 360078438 388490019 305955808 694764562 584465013 315063644 353464866 772858446 263000268 430633646 852827115 708737428 599206755 840203809 850005351 736609717 728141235 102653635 192034748 286670175 515198791 934157820 549702900 216162804 910805589 198017430 550429504 615534935 588306019 429442939 919882256 210561664 470791688 350906682 568156080 617743474 580156581 333930897 452091084 277393359 869685727 723287209 552139697 481623095 629780080 950751424 470666169 664326652 382543583 570729863 724111193 162469709 266471160 270287653 257218498 229001386 812077775 385276208 224145265 871795214 771639210 922227271 487442304 470983353 292725055 482718462 404140563 429444142 343023217 748799113 602006760 315997060 405052854 414114531 436161598 468155684 442145479 217327950 143613263 943200339 404403260 971761587 934547702 751805647 370219145 433309199 578269820 130116439 125330379 318018858 944373197 246971408 548422639 867031522 175337208 423086529 196464164 144511279 753898772 430442698 324925459 835222516 183693314 373831834 510534920 753073810 462696526 502490060 725943135 587543535 781602175 769670291 610612540 873755305 270899388 140088107 776326945 296348057 153712322 199878298 688159904 242585708 702727092 575407831 623698573 760148540 929877767 635065956 249880752 841937707 395315005 493064492 585400022 222128315 639075796 270919239 830985829 322024255 783850659 228725479 518564536 170760699 766097038 349985843 844975972 109494471 545964048 178067051 387489757 792195683 222817744 229580288 416222026 843280052 826239035 563859646 143189733 130208434 577538417 848167309 372874162 609950248 812277992 167361305 775212468 687969456 852297380 116889750 649857271 300176132 272672687 304749646 922626687 381786838 444086533 549441379 530936326 854255711 334370967 245210295 796686514 785109609 160695752 769715927 814864768 491235707 385433285 576071979 439530026 494676315 777721537 622454393 748019043 912689405 458081766 602366501 142848136 582964143 699247450 157720737 943932870 354507336 538301426 301329367 342626469 752566636 759277618 846292909 909625838 680836687 514311748 527328473 652346239 309116484 903147530 991927250 808334992 484940691 192936040 887764048 516675755 397673625 530828646 687035211 287273625 111793107 634149115 968372923 874627173 890845356 943406795 931688674 375067687 819585328 463397500 693134672 632583671 816108799 798988667 742588359 831750752 832965847 306867964 537690535 860941217 873139903 371267491 146998027 180127918 495274629 756117465 742115087 555425787 908361561 827893359 471080461 513633726 751912884 301005022 578537444 529534972 407285896 304780287 998254460 413523559 326765477 548384153 616742070 565646118 559742185 538861932 496850246 819226718 344751930 118845050 971763351 206786915 255910421 648624813 332184204 145209812 198622034 136542845 872551380 327302783 964521350 831488191 538225246 303780539 903510348 679885469 832492259 948692073 551947559 406894892 140135742 317741822 166914020 959393237 481440109 767460303 415976616 253701996 160418917 223413767 521404611 510716818 903191103 197274514 818880613 641919831 383333009 249656939 425462521 106921100 552096401 152401303 565932396 536248650 340750263 349154925 942514936 893979186 666288955 742889360 691573815 896131494 531350845 988224304 263420887 775537875 702418491 504704790 281633105 467248379 528364692 780893277 529590820 835351852 445468955 612939128 730505614 425591631 751552577 271594598 841909824 796184039 421916794 473733603 311340458 320310033 319103950 135835007 240415623 566106813 411035866 324566483 931082418 420121714 994722933 347754942 477562009 367503605 619360851 888192536 883568556 324653676 101066710 745336841 564259819 747322770 398698425 742554864 104770609 306780930 694505332 331627737 330022780 521997566 465109826 968159340 714344309 625612943 711991857 524638227 692765851 357684465 520056289 679423213 317253489 742396434 404426676 737121838 812534118 378570097 733840858 538241601 249280775 910059062 231572266 433245248 837796969 343533968 914392402 155334729 108095065 654013812 497268927 588397874 233765993 947108909 572479173 341687926 178347392 792662569 387198112 695321094 659629756 355134907 726323278 558862412 144194021 752979709 241114734 505376855 395931713 874862777 655456222 238930281 449049020 658607865 718619085 537964715 399176738 880417605 960781964 979840173 138471285 564442793 177624685 191276224 702090999 949464471 308911985 810184561 901176513 807085151 532369680 827407468 725530538 348386562 112634046 636530707 927932773 790026226 275159303 476187146 239967377 168260233 964837232 637871059 109178359 227524139 484218351 852540511 314630444 170270536 486895164 164491550 636675113 155400251 771240678 765029494 301946159 560704417 600111230 977950429 172918839 227453180 721039362 233973494 118940134 141345163 972974403 784460773 142529911 667037875 145739586 144607366 254593883 222454532 554299160 180783784 784685875 142628960 350753131 155116327 192181372 855810955 547153280 775128603 788289843 685519382 260921163 593534975 924128025 192089212 236579402 206461957 434420489 918268272 503437481 587842326 810587890 822605530 920200309 633442152 360546022 305015511 636772447 872524381 741850411 216946012 807949776 160870486 753239917 643806565 843420168 577431684 526257832 767456208 118154378 281133363 566637704 370625440 574709085 671872402 123832445 909048897 833984770 490994799 442549602 530867963 811296655 242925953 174835924 813906707 414927869 229060139 331791103 498412670 398639224 750926748 193437630 687229498 109767815 660699457 833966406 571854376 730852162 180981604 215294207 415632585 690318791 364535943 729421659 177414970 473948623 102105321 180385837 386202806 180161262 435598348 559716898 367430569 935843546 418157408 540692573 338188710 960771785 539361833 487738884 238746438 161246709 619409911 733911110 592996080 657038099 983826903 580562362 436834487 459756665 274738045 300108743 720135083 115694654 937957716 189574947 748209901 152213417 415104633 909079939 542750245 947802663 417653454 556745391 833963921 729150318 329346901 507444477 610210695 792147955 711244413 666395926 196475023 608558231 673013821 739212960 565729713 531621647 556724138 214097267 514163392 856379762 165697132 890843787 296678246 824040703 343302282 108394701 725658755 994275938 235684814 522903922 174981689 183725013 824863465 993051774 525266772 599125873 911097505 247621138 405810262 872266443 821137385 822197541 427509646 284244225 897552488 352324010 100969484 779641734 170060391 673864079 118068228 638259610 521967032 309550549 624239412 415898750 503725060 906303761 580245262 934325141 747865108 322247470 827347314 771538488 203987579 821893808 758889781 616725737 667212737 884222069 864964722 405271895 938801249 757012670 467535208 115060517 161802376 651019479 220178606 668858438 273695926 578896935 432932900 725406139 955889121 634228328 646680242 405142073 937871263 698246809 841923630 200663437 384443060 453878373 152886253 685653416 502415708 161589357 489190094 278746195 493814797 507676400 683459434 623068029 743507013 697465865 674200040 950624789 989263467 902679748 188995951 115173601 166013744 993471412 495240353 807863280 551824834 172808084 671488778 532528133 638211595 830441454 793878105 909879553 931791139 755001821 773027154 681870207 273885636 841474344 298652977 735237076 599107009 916638522 726840212 361403358 867631972 791538928 268632308 369695872 465795182 279718096 704717487 903251893 875339105 880934492 923815628 425489849 414774112 605989096 775330620 773744231 667804419 825014059 380197252 728644460 246495179 953225904 837291201 331182481 326293152 784389754 474716591 834021780 238558324 916296752 459688301 209842705 233042110 385444002 719193482 528912580 427301299 188025375 481973868 891692368 184150788 309915376 361811237 968472552 597059183 787211812 195380585 146402993 383621054 816822883 589540665 885736888 931157308 190938963 879163031 223608392 913037322 377775706 215088677 705093876 428807332 403360284 148304818 735148160 870627414 605853323 266694051 159733811 593355148 908763845 204910855 734375775 339593807 702673866 592201497 822980971 358111489 702970310 484097908 701410510 573220220 851552347 949571857 706674863 716908485 593077994 321160192 184894774 216508465 327164762 188647483 523788069 642513030 148543503 806286409 671584315 858263650 505849819 100359772 240062728 855233919 371003155 433069803 537265246 148220643 976612184 668976254 918975796 302046613 576992141 721137625 376081922 417231927 224814367 299833312 107134905 339937674 805778387 735387371 801305031 375864952 310177021 776813136 160629442 476238226 397000460 169668454 693900078 439943420 283112056 471457445 626487887 232806046 190382836 929507598 813026341 654306858 437191500 244978818 506885792 394435019 562747886 954130717 746350962 513211994 538877884 769501868 839605212 408180021 209985099 765982166 916918679 753843661 707504907 608459298 409248030 327348176 506994701 681282509 973884853 912163675 720105900 459168303 922354607 482768412 444879634 809693330 150647673 226904598 540400323 124433094 969361345 546373916 860450932 135032804 120596095 361011287 471517555 580110614 942236706 447200872 387167302 778500829 287889249 787798959 768597700 795525600 547496033 748375243 149607514 107363730 394859196 645434437 921297227 622197270 122072363 556636797 465797928 901448509 722765727 757463315 207703212 893159192 955688906 210301438 422287473 427953519 513183461 826963969 748290306 787249587 737447329 849031319 542645561 278434401 208460197 130147061 312754848 957038150 244405833 852633896 244276412 702126880 244662523 177600394 912533534 510389621 653196893 253174393 279411179 266679338 530848167 347708994 686230976 814438708 220708928 489304110 884586477 681183052 636713620 320294384 675706166 445681029 529198819 729320189 541836467 688135682 304658739 222290360 621974893 630661494 187181318 127874803 170148181 828680231 987881250 635377054 952366871 363635470 959097901 191929273 445247578 208988986 700175049 177794854 879653238 974732736 533617887 957745170 922650534 696616589 296897883 648442448 449182673 487471597 875234895 430049485 877771134 402942006 392985187 693974389 111026796 989031389 990910410 149587566 380283974 915016053 428989631 332677605 849288093 609868204 470932631 331913846 841922801 529158934 260600495 140677517 750908499 774586494 373071728 276330978 813947799 735529922 150302339 613950773 430407025 511966393 106489725 280516529 966629263 351801528 966319570 491468882 878036356 932278992 818944284 495103706 967269087 709848703 417528686 485215011 606699366 640806272 174766568 909087634 184845932 600564135 424534415 348672643 251973632 671592820 844573402 934871031 789811497 853501152 937207660 547381022 639743462 452231740 547751839 658640040 139318115 279762105 975019985 737766138 605202668 158620371 417800881 549965323 693341902 683173257 848853676 482839605 832837517 931185526 729667110 287233832 709397196 168845675 331649494 545699412 629348467 771224740 448035097 891781665 730030673 270885286 683167603 191757940 140628978 413876397 507225741 661603423 509465355 949308139 462529572 789855260 178739401 194110499 998008694 295562497 911812360 536737165 739843009 301386658 365166808 950178864 968573321 963621823 854507983 169588460 823731565 328208053 116119143 100166764 369930165 217572318 438610174 110113620 384196753 519561857 417985645 862074063 726665848 233411790 202604663 916614195 426693431 858209959 712099787 199287451 717480619 195021712 804501794 848036526 658738908 713096953 315980145 279902334 460957760 158665498 251597522 988835264 351081157 762806440 890246959 128069943 961369662 770403920 330574172 853348403 494710810 588179021 580468965 240181698 356566202 230153148 483458020 537565151 634785858 916390736 751545983 808166091 282516024 341684649 889265840 966792685 583757334 868518003 128988955 236074472 894291633 847198210 888847807 320299852 274805594 163472625 153811790 131543979 822467050 238472073 313961418 925902321 331365253 964205001 910962137 957210922 107120138 122741260 458755212 599441675 417778044 966652785 105232509 218681079 559791460 380674465 708210250 341949019 568606512 781788514 119442791 220271464 837532336 939545577 871423904 284793645 293423444 357929138 852142336 530383667 573480670 728285900 560328074 908149896 563750148 409540170 431217761 638920776 289660934 931531699 384412721 409841389 633458830 210012737 336709343 294450747 153401733 803494689 744076654 218496941 918195826 278036879 451675770 273537257 626795597 466303497 229563358 637837982 508303633 974194699 370912186 422368329 624429720 544281031 829759157 639526693 377418763 568840129 867100834 412634095 559457420 860086686 783800754 437326703 677379917 534741920 444027666 642777000 172659313 691627696 984874233 323385289 750601537 357709082 918007947 289480114 371482379 860613518 757839954 840997255 380538212 616297698 820767327 331554521 427585790 708120425 573568475 401347532 228627178 295944909 170214265 486248336 143635893 857332367 783638479 991006798 475347155 165099706 359855058 536988921 101348181 662385906 947199540 957341047 703420827 642065830 193783237 324866543 133815235 318880361 859684623 499382663 632812988 798023659 105329032 282987739 130887648 274362048 336801553 801777932 586406340 875455302 859081396 228745470 885877087 274907812 284167542 268972678 569274268 996323710 849509522 637458860 770206542 801619119 760272775 282680101 739551993 949100394 354254270 754182078 655822285 873708117 620021445 203892158 811662397 866400260 538395305 299465481 409853051 663278430 683444084 132762539 425285148 643680456 981858911 779847956 279021390 782503377 221834863 506857182 872821159 872079486 496425445 774033768 631562780 386680357 538481632 549253857 616318674 347199813 990084869 835657059 530387548 917110615 407902865 415211127 706815946 734619074 446069657 240571095 183386879 169590272 774864377 265411393 835963705 200597679 997853081 506468154 882224596 434072568 625094254 405313472 259902662 200046126 471848101 534854184 724507274 645499303 147941760 915210754 825752782 957051999 649847339 103434061 623174770 787720017 701473630 347938035 538267234 674121786 968038705 947485744 314670975 629411898 714426415 368523417 272669960 202083687 760014116 388403318 435333641 452525259 625138112 275121728 320398914 249147399 988900804 573599714 503785084 621810666 289554919 245024830 438904581 142060419 495437227 204500494 778180490 661046420 951070576 213874542 553910164 549101318 962455465 921979144 189841960 981213310 104222075 797836908 970866520 107452765 305315266 406882619 369485116 283219112 432278770 244509373 498641783 134115360 599820634 263051619 499109329 585003592 723306921 489546678 477147591 979705560 769706715 730014627 977264511 516583049 844098824 961959833 787891609 805833533 906014388 445985923 667628763 753821689 154759997 176569550 977508314 277645942 697711735 856251404 690459038 460800151 499384958 965475991 916174473 254984013 321309244 345354484 666185559 872841521 834226812 383305766 692920197 403489249 224437637 677850621 524746402 330344047 898399887 949478796 557521392 726206124 933337386 156389389 662713747 546311733 910775318 194285430 846240890 325047341 668220125 360436278 376080580 224666079 383514423 122692943 254429269 137461611 760108101 501879492 495625986 728852818 273406953 343489679 825904985 207568854 669323948 781546879 504657785 293920776 432886807 149045581 230487816 654656966 361109343 275389528 934152012 783810048 106185486 875091441 158041551 546076597 793832551 743165142 344503160 435452335 650814623 474276159 145290038 515440506 389878934 736758827 831399926 974520646 360016892 663416285 908584496 949642500 235245756 389151760 474201691 698533582 543912773 857041597 396254697 959013910 524709623 514003124 857841376 288145793 286069852 422247565 597766720 819951879 594579897 918819833 548855653 705244133 933948364 524309086 959251574 836489886 937620383 144847587 877092999 836957590 115289883 842158122 766611879 835380365 587573939 465428993 438480654 884633745 456501658 660642165 848724416 653602974 912063601 822213199 411111527 437485230 944149665 996778104 123640258 499019789 490036898 593678141 201334163 996586710 353993976 642282092 181987030 975764433 219084210 307701297 710427928 673800294 918416655 350373847 524716039 673261011 153766322 893965574 208278219 238398349 584415955 714855711 710339726 434098876 745640604 991643405 147472197 836632963 260691511 859803760 684888227 321790791 725755932 464176846 568674964 403096510 199204346 626276235 581550719 693825002 443421429 895187382 788321186 890469267 417746070 787573337 191624766 914811364 239049978 228224366 507737807 552223370 372901287 605343434 376064530 818109036 420512430 339079689 320360917 182425425 980697887 212371098 976855317 200237247 324013154 558764797 102005211 561668203 802338947 379064504 934269052 807907927 935778580 354905444 499109928 385166925 904432045 284003829 736876700 254011185 938093559 587793573 277133819 955621788 824628445 346315567 712195218 290815752 285625055 235887625 962197664 659267731 874219653 183151073 742815242 783981655 779220309 138920472 828485736 563254688 652373639 761103253 552685235 697417758 177621708 258788356 368711707 175853412 174787021 138410927 854411062 412899499 513459777 607161138 393270949 756034725 324208426 836040148 955451325 456451354 539594628 255479392 316995478 834374011 482072160 649240714 633294167 320430296 866031520 870098240 198161239 911293700 359012765 498131741 594073903 644174589 735191082 388592879 989966048 402605290 119099073 355702085 655680303 997164576 129409423 327280907 421955639 642565169 190500574 615580665 997414981 423098976 879028413 758162954 469015967 419178362 893900869 843266252 750520439 677497247 484355948 671969942 758603599 441350682 880322809 874874131 552331124 234076646 947774570 993768737 246269980 740219466 932034271 954439303 804146658 139111009 993124046 349407177 365460281 384526588 340286214 486698199 854151554 725074525 241992843 107963902 434392011 724662927 781177017 527687873 515158413 708044492 396180936 413332141 285461386 750829038 821370376 413069511 459078639 701177773 806660994 526971547 430405302 771955022 882049186 914540596 630526472 775758224 916051182 698365962 150672535 178991135 697937447 744599794 460365112 443405312 864121694 158677193 255181054 151063727 342689310 856913244 236271133 550851093 643420276 831802046 119873352 819061887 982712924 216803042 934942801 556891232 847243661 190242465 938803585 123792500 984186616 742986493 859876359 769299021 450443738 342263645 481242840 595081533 540063013 793562400 399106796 915768914 640635572 657869048 902632616 830378811 246779286 696968696 866087374 453212239 642097992 292670078 401772467 911409892 746693135 107142954 834373795 304974014 789568780 672521963 822847875 357957174 638942427 348586410 147794098 539454827 175896195 275539681 959383294 365710586 715691394 550588069 865661972 144628195 912296945 376743177 192996435 748271189 457904722 251558064 723844221 223061222 102574300 604289322 294102641 336582822 303044295 670503547 608192558 100200657 328959088 673320947 595957641 161435057 545672360 518576293 141630682 186311921 244092671 422374564 897404101 118254844 323867450 144727207 729832540 324546493 911228441 555606908 148527465 371506290 632754898 826678859 928045596 374453847 338001792 663409351 192439112 326676901 346452642 574353917 562405062 266900364 762567214 579769985 215158787 103064650 655830760 561187882 815865486 345085705 707882992 428704880 337134768 273327675 275998546 405663078 673457987 136050234 392511652 187994133 977992989 426739222 329338188 591605279 862944187 353324298 182273191 172467042 831828856 115829767 911025600 715553524 143158250 100547516 412950070 154235731 105921744 535249731 325159148 524132045 257378794 293509409 845927350 440395674 122301946 134365528 824326662 376553791 653900250 348883642 188169495 521186466 110934685 543499237 845736691 704722621 769712579 419401071 179072949 412461627 268492906 493514884 995395356 774421226 594828097 202222641 242977409 945496049 706601170 652952450 221558523 277080315 728368199 485264968 643723478 472370148 851699688 239482611 392077414 313507947 334154376 921630298 750454448 774838914 466208971 224867803 671456330 421007230 604062329 927017865 737054809 314502237 891250591 101425975 620072451 690235240 894199561 515503948 477504856 235269040 620338939 401641387 652840619 278995407 617872063 835240040 199223542 872509628 392654685 321587141 510795030 248027478 611830664 264356774 220480146 706200011 498592669 205533768 460684213 675643011 868026164 480241948 763838373 768737641 876955236 673951504 126183254 124165041 187598077 198911773 480675817 984267733 755296860 793645302 585491344 949344782 374839067 130549854 837987212 478716995 183797379 305979284 559453714 957013280 818719666 510692977 714148972 493857935 780143289 758149280 962682177 844959820 848648776 612581985 914574577 848231721 596436798 972665754 477014856 517771836 969260840 118608804 174840001 952363003 649395272 596696579 143328858 161797259 108875696 639378390 572678444 738248509 613647643 379806594 533191436 994186066 495418107 279273211 277686377 305715158 784034505 392849174 733825913 759519985 638501048 952531221 991915846 116690663 405615428 234213692 328036201 501683727 842528757 523122715 500855842 595414241 581075744 665033709 786731580 329808482 136512548 648366319 169748200 807416588 586156073 475666894 542885863 444644477 471965615 460188421 180081079 878804915 881363964 314006048 702878076 624767610 600736955 883548738 797613432 442300446 707252790 253926593 855607372 802843887 171053339 823702780 617227579 896700259 963494018 683376591 331077686 398738138 955585722 967245199 632614878 931763030 613661562 279845483 876477747 845394803 234683413 629132028 837220570 912878294 998300696 757356289 371759431 295710149 628389550 537465837 324700345 457405127 899803102 496576573 581257447 501334112 380699229 326403159 944860669 655585888 639259361 283657116 936387945 352768807 227180978 206836491 457455882 840002855 128175872 881792123 497820633 317023721 939384985 759841430 570681747 699067893 808209610 324246633 286303563 836726314 502017481 639396601 277789364 868037866 249678762 315293226 822902310 301191474 866182929 998444454 530620503 757313198 306924108 783612366 681673399 311230179 742981572 889544191 554371536 758223927 489788728 921893680 470020766 386982547 130919533 549833796 475581410 483206598 634542179 756366833 497071132 348575585 395121079 383668461 936539626 424867181 432691008 713371498 913264071 206536983 641024234 722805503 426114216 491936413 680421996 594176005 968850588 204218577 411142052 448310394 436548879 514721932 180952900 381284844 644149319 575893538 300197135 539459659 261990569 823584425 659261616 230460783 405290435 473949396 430308972 934164621 378609653 690088622 677222345 721025281 320066894 450606043 904649527 620016798 374933058 204708521 860824646 388716628 852521095 658783693 991062155 351380338 314638017 971675822 675730703 684254335 461348402 414222033 740163711 767108726 102205218 137966611 439629128 142775207 172895682 164016077 246309238 214626511 220338086 770764382 783258181 659096646 249008899 383090229 818332468 260866596 709286838 649895755 622245492 380160846 777214371 929979976 735069297 290089484 306495650 832637808 906161015 452000926 917482812 139473907 199694828 584755294 449275292 867585732 815526031 501016262 564637414 182769478 876168213 411651245 830357532 534938987 134537283 810427336 114733965 329391422 330034781 916910683 123628069 786530642 803699670 120123101 135506796 830867841 134460440 486529574 217189527 781619202 592347169 317482757 877589650 854708773 768663867 661212951 750625865 161766428 670808140 435962621 565431669 569366933 203469996 562339044 634974263 985689477 826823104 685846184 682485911 239980115 730565507 629364004 827893398 198100581 139576088 502771694 684684785 336777496 278184077 348384950 385173492 490929808 816988038 793445764 329738423 626885122 653546041 612051889 101787639 662397764 311534703 549984435 387967679 988597985 489759272 236334127 624094346 996645687 387464622 966447422 683747933 577190771 773039672 733244331 133947680 299192046 577486587 582886876 449431982 409174381 799707813 969287709 484046792 375389322 985734234 589650667 304163970 813652750 909028126 451700790 279422751 706033761 805989403 482159474 447894010 620664087 764886715 276176921 373602822 905345544 846307029 225486277 263655730 535863774 733244535 372383998 463458974 965970806 982748737 204962477 776897314 490583801 301951288 184757088 555110899 330435038 165565010 716956089 183634049 615855142 433294427 924467202 324525267 231251105 569144549 782781359 487627446 467555506 667152252 918503542 550940426 882127581 804476592 217853025 975680387 760032270 151229935 425152955 940899849 457198022 193464809 816258722 924211998 976128436 747968251 508232475 647910587 678546020 603735110 401791031 922609696 461405193 300462233 876842326 245976978 856312381 636807976 656344020 338342362 421497630 442612818 770075859 818455012 683628819 969236650 279936384 581468918 320503301 338171481 933787532 676286268 670322910 589326731 284635882 299285186 957676992 131999571 819209895 720593648 253847742 996043138 921259966 476640581 460819457 876447510 221848990 184720128 629163121 772496269 899618408 429884043 974359732 212766849 409953215 164590699 488627027 687094624 421375760 684963101 426484514 384633293 648719799 259281965 168257770 761443772 895683245 243637675 642676938 445718008 378695287 376244987 565635242 721602762 251741200 235044104 423290974 752503415 360193625 487942676 850838314 425757296 347768299 278747325 960211498 994342271 617850426 379321240 775599083 991101119 947056338 257852457 961002253 190316537 295136150 776861514 154875258 566021939 173684105 834792607 130877097 678374412 256499606 253907159 238786449 127788620 744702544 933678102 842868654 706452436 144963639 492556136 889404770 508021454 961274198 348666402 667009983 440292917 199194845 838797606 933427117 423065784 796910206 794649645 308729464 563359832 799830850 840365472 824291930 742240566 833799769 192792823 495930568 805927839 689331448 447438646 274907648 821614493 293052816 689521293 919113926 359487090 306287572 130402820 163033899 820655899 499114044 517736396 318314745 234772382 247233431 877372654 660612237 395228311 848883689 135388918 351491529 190798333 586857796 682583725 168463121 106642267 285558728 728334841 942712717 291917987 655387377 377606122 200534041 205832015 780690902 954533386 647209767 697489790 667606750 940450032 767939136 137849342 475895128 468096350 802827443 231752758 678881465 793482627 143783568 264802239 371979866 638554171 205810174 726695657 550127344 200357647 889336182 418681586 401718179 322121809 297886447 537059880 873155116 786505421 461647434 216428965 941823703 761126670 799458744 592532521 561373083 161931028 625017198 641977186 203259154 862667329 536702366 927589449 704993670 147661084 143016410 506437590 584236293 347968703 764152580 983836871 216860968 637668391 982384871 910792807 571775520 212156085 608307593 551122604 568970314 580560611 860187364 515711786 639608379 361654222 861512145 436639811 923288523 862086250 372861325 908065712 248117221 768584469 141933220 605398859 101137121 498688706 932734634 847705572 768160883 634324452 128168815 872636393 360521811 365468850 535942654 232982038 938632755 503737341 934245206 898971177 816153469 150934234 998967932 757721928 659219363 838203652 977436506 273326396 211833020 593626420 346599637 815895024 335372611 963028264 483428063 905345015 194440389 151584921 277689648 155833610 112408935 718634117 982514882 385143249 917350948 405482516 724076291 534047842 397851268 948967913 163333967 367385157 478605701 687056366 650762870 751848358 411205248 774282408 927030136 360031912 568001250 675178542 149574986 457348601 209609084 420978763 724610217 862781983 508099838 979008982 999475241 695321744 886984791 744028701 527363913 228467372 524910371 670078553 279929859 336441624 485092210 969947670 836368421 887139520 185900878 819920199 139277058 696046801 885119861 369294831 223971244 366807281 637961915 198771321 635314661 247690505 318785899 653620796 153602068 241310679 142370334 681694688 483905352 847628419 525153089 361979824 877742167 553774466 830832036 409377449 491352859 350815868 708322036 502224685 156948897 552904866 425728576 206141085 273728861 350966551 556709301 529155742 535020157 910355022 290155123 253674176 968319093 330259910 442276538 477070399 241481010 436894891 458606988 482687076 344774398 976097784 701771774 743255866 820477534 523416733 282513652 743715712 991620554 552785886 710438749 474973916 728543728 397179920 300434753 430541563 609241919 840972618 974870616 736199342 148697424 963185320 810033628 179625930 359534629 848589714 495043966 788009850 834060000 466250444 489349042 533520408 928580020 761192507 165602501 419952967 917842000 510080892 801841325 466937035 282226472 319986565 339460917 585846677 728080486 736280494 917885327 409238164 886909088 987185139 602587897 796454650 711163553 386176436 179930395 652690346 717104255 853756081 404526537 464611200 402733106 860546405 124639802 942580757 846086303 794891090 378485037 450707905 295045812 212766094 843387047 457623095 741832223 443336851 556520355 343542687 901920800 816730756 307296281 856548587 958883210 229458079 712376989 239723223 966979056 568276431 569592862 705910885 909282096 327372532 196261816 408799082 485856927 489848938 129144095 961879395 461122679 780242830 522035234 113128241 529607543 359440120 547475979 782312659 634311269 912943683 465717413 594987476 878610203 385590019 716709353 230717856 982320947 352008268 502462301 139313370 360481452 233927459 193918809 800095541 441971703 539239146 364537216 715775431 783033783 178477868 377270751 831716057 629180698 289710444 845781776 712021375 298514519 154361243 743750382 459858605 150272685 720404122 556239549 433778533 316382586 227227483 317177317 594590233 186736072 244175856 669336166 981949048 194774799 783116899 887189948 571536510 721291163 780429489 552155383 320588760 519378481 992697053 133481711 834878405 650911917 842216523 603334176 905950597 857876876 560631022 506515082 640963398 559673070 678835183 305850519 515019111 457795740 693315290 661081077 475707266 845811624 222600033 797946387 267722634 988538543 519758204 956600802 708276621 142279854 345798589 122287393 335084958 456002704 756797171 654840580 399841054 350260104 742181033 355851883 519294287 392842500 919974938 956400049 740438488 633558871 845755690 242790385 474556019 957831207 278761869 359250049 634766925 555644332 290400103 278446904 850910654 207098989 385883598 840945273 160976024 103414672 335249603 152233202 790546914 567523168 906283376 691103162 688292640 110904777 319337964 747847209 239808274 370086689 234092631 982755093 820193106 437765691 704334337 336444770 792660620 150174622 643540942 201573110 432655720 272054045 253869596 328959279 902696727 842500345 789298696 508336845 766097023 279492424 995154389 935820491 550307494 257229319 593543261 452763284 937116620 372999721 388629906 286217124 265088273 649366785 835690841 109634587 305946649 450830468 757178360 499955423 539632722 628818644 183619584 100092587 675224192 839604142 544150189 749930005 137714898 530204288 876933799 240507574 488169568 849243320 598663612 481471585 151186621 375956230 141383913 541788486 443163816 620015664 260654160 123733917 195548424 136039264 183729206 650766104 426502486 576619053 564188574 982092040 576711387 310413644 213251796 958462387 264117840 298642641 694767215 210837305 677498821 324577198 108142297 919637159 541773536 800033651 160062418 167307080 151360632 710608849 903333447 287468729 719981950 337872158 979048799 828837304 835140460 201477235 416977402 622830360 567213826 912637535 221654186 797304561 875689556 615144398 866452218 940931761 697738133 626388886 995778033 980487971 142899185 908556166 150659974 542121944 441214614 493085919 305364524 993469491 128029509 978974420 106386398 241474238 514785285 352933068 506878301 406354890 349031224 372817334 803617159 187986757 822077460 542556418 437238157 289776417 289179708 694578063 400722581 909705828 524351625 314504630 941937002 756363505 801708553 134633491 291410560 937977925 595342183 556115246 684667034 586074055 168302423 882945716 831408667 560622613 472495061 255083756 463293382 603626314 915896116 761164450 420312340 159842429 689838987 598286684 604488193 287814659 177638887 185376463 335655749 991174826 340395944 991906622 224827335 708912023 471870425 110561716 686721769 269861034 984389596 525763645 307964466 313477703 799815738 856836521 275664342 914756591 350430948 828415682 305610151 686755055 230541581 962130271 847931069 908371130 906681951 453230199 935559582 272209668 954021919 234489045 389236105 443919767 423386019 767557623 314675645 653156922 383475975 964675937 950721825 186972867 794327497 657612748 752398803 415044007 788552617 726840126 452625249 605565853 536608205 276204939 100095830 629256762 980259034 378279073 846408819 886739351 455153001 840640785 500048344 354685762 639899621 443902815 140504064 167581055 280242374 259037933 948653636 526216886 244366476 963795936 202424145 558583696 617665091 504672761 458538074 881357456 765254044 745349754 283114632 138310608 148505285 916672670 923075691 272387218 659414125 302190448 461262196 604925896 457315591 942191326 888736039 913587488 983745924 156299850 170063447 156869076 696498042 427926018 526687719 442336529 384277382 792543558 124232394 519774139 580115725 674690423 869823518 941901021 566254618 120570206 990909721 274868787 270388767 781696994 842887246 211512472 925320430 107506285 812447086 599941016 979745501 775689688 619472147 465118807 578651141 317283056 902265762 736045248 782249175 592922503 632235150 394843716 798408566 365763243 402512556 996472146 649185379 416425188 947077633 889461732 155210266 414084799 291984052 584879895 236157102 139638319 423741708 949026413 808899076 715370849 583396623 933030131 602346711 783296430 833115978 944673175 489571443 134246111 961165095 233889174 245045604 419110702 417678819 662233521 994223427 637309417 203474304 229861277 199897363 690852747 338120164 370562765 696507975 325799370 373709861 880939562 469796897 628930840 457700503 199371830 216295694 487379114 197912571 673888027 299286456 224245998 489658412 640842913 331506687 748736699 520112791 123938636 763759512 598129843 211906626 338941392 383489482 647391214 718803218 999040008 637752706 990015152 883413298 669058969 725042393 594263734 938456625 685667254 936827855 783285525 671191737 114793603 768256407 974541042 426202768 111059350 915498830 387501748 744481867 748930717 787787545 899533439 493767034 416932563 173819593 475795902 322006956 177382314 970164868 827807058 576466337 411403592 198203902 105946140 419803529 347067580 447965086 822326254 702198052 944392299 858769784 159046349 836883317 604731654 969547674 753345588 297450361 222956034 131418637 405810528 971170103 928920019 985975139 941129221 106992630 558788488 236872750 331072274 791624028 761363315 173837742 358628566 392480157 700866071 222320081 788203543 196958523 486301238 302394876 821646605 221710457 788391447 395986353 714650018 962346774 265404275 290971628 924647799 407053815 156060685 667026241 267155145 126555083 970631297 276989559 892535739 702417607 278477384 878723027 794074085 508412315 328817521 391246687 617249616 182918741 622825949 937232986 785729701 673798077 643271100 175019733 424355285 721197293 883153262 300933868 484102292 882148951 515124949 272911828 871066216 958189836 311867866 582913431 569142682 840576014 713332133 917943584 181656597 420224143 108886474 352758030 863022334 228365496 194341197 661982624 542381142 997452236 441219711 940764480 803558149 545345791 107718827 521446802 472932823 985361638 768829820 757190548 745646066 511314295 766525023 314659486 171793822 645092397 789032798 682848373 240549806 788260263 470559791 300971527 779819448 670027314 731939542 370953801 148514817 815368480 936349441 204773621 452554552 242622958 889361617 556260108 473390391 117127848 848956847 157464781 121831295 504582168 987921370 296273784 715717933 688469866 737433210 557102150 644071598 782172559 512951992 649344211 301093201 934315458 965655129 475122074 160044658 216424957 200285471 372683344 600240918 175242375 409897198 275499075 609667637 106421568 422871310 481161910 738220638 629270163 233490282 595492921 357145525 442849535 771848142 587822228 788523069 739445104 754120257 666568336 506846648 448937189 133720641 745398286 191937222 506213477 436803737 676012861 362976264 376488864 455254165 951514515 949351167 699226162 812080112 595687286 202608420 735443049 994885517 247700409 333704236 680121179 660565565 701340676 303294743 273226322 312449485 781227193 906030817 421619399 133085250 944680605 376879324 122616961 211521941 247405712 696682560 697318314 130684165 905083945 729260863 981353654 719075062 101886863 264542559 428567304 767036966 479884501 523621006 450223177 607783092 757472375 558510002 584474918 185273963 269017015 895021722 410482400 731079861 858629557 466527593 501794261 994814593 979626257 737882958 523811305 647158417 822838122 942403876 869063253 828088794 458426670 227395588 934826699 126828113 924952963 834761848 824369534 614934687 632054875 111218862 526601502 494255145 977810661 554862928 142937046 910186225 739506599 849194873 528801731 234283628 748588479 580617412 726153318 825365419 210643968 942766748 779384725 329834599 857298808 738491111 620706506 398413444 750704770 990790320 260327775 384913247 469119475 411772120 365932521 525265684 343003171 887015237 670347245 261996541 432170653 901405036 478016238 174429704 241076354 893746571 711417211 697163436 294248486 102283310 274074016 651764260 668126006 523486063 490997096 730081706 181524978 948217103 333394081 884567703 785769426 664643423 205242251 347192646 518789506 909478749 279889092 891691278 821376943 133139164 274561292 975224909 449204884 621279309 324069965 310820277 524352341 552716651 895060411 636530815 131330335 836838975 323880631 541573937 307360227 402247679 610343593 875458379 212338468 961704784 350806557 106311709 326700476 748762901 777723262 548646076 158964148 571310106 373047634 175507867 592192299 184874575 832984380 283448288 300444708 209016947 422308469 129457865 460363809 528272324 588197606 271766053 407450913 315383187 372530073 201177575 877448139 593949686 682172045 195803304 250554810 341882365 946007810 373084543 255629824 134027318 664663126 788125262 267814982 102117455 416584330 178458160 936322110 802217868 708290224 465754337 176916141 887944814 888608869 378787992 752357876 719778086 601583948 893761809 513617164 598068148 412156551 343569859 863111458 541824035 828385717 950887056 711142294 548226519 649010185 267936417 746437673 635114099 944435045 735643111 272799596 632424316 673780797 270273490 505421953 821529106 865175139 545305568 919411145 751345091 196175514 869907875 656728935 936183431 676914313 214891836 758556382 440866181 142446477 869918896 717555495 492335224 533323193 353909856 723786056 985095241 465252365 989450238 261805741 702101683 833957700 384482948 508354528 541840322 876528587 318845694 713646765 331296586 847137197 461070295 907546565 757092535 433638084 450348418 751018856 909987998 495245791 730544209 535134326 443406204 969314814 641287118 801620685 174637321 230992505 403083067 587107628 316508677 249983444 310061370 149973980 425379257 172343772 976340384 166529183 422108034 318564100 350720199 582046798 721410346 808839613 888176307 675663529 189770698 273716879 601315404 396732082 728557559 748387374 226550187 241182452 636597506 453235172 517553794 522781741 886363786 797661911 274104976 529693584 855192562 259691560 235455011 433208268 964248394 182336428 991837483 738854415 639675404 590087395 133219001 670618012 706321450 595544929 672411991 706569687 956035416 725938809 624613388 275138726 693555092 707310689 836787793 301724714 425882396 487435929 831790949 596430879 405935780 657744966 519545179 879063812 254850513 137002282 215213886 734825437 485160386 646170613 283729194 527817839 308081765 719467459 972540400 567266171 582003236 871648246 679296374 731137928 254518243 539051744 148050949 919444522 559944504 471884323 506042535 670023361 828460835 528377681 985094063 232549029 625746706 247674946 281900093 835043772 691519741 454696853 892876439 415333035 925618908 808096938 398062679 311141445 467906617 672559997 102017751 477217878 318088623 563679888 526202555 676305350 130102563 869564869 576686730 946010102 445022561 833049290 211933133 763002503 988625027 819692625 729820847 144661121 989983459 536161811 488670867 955831749 938744370 130080592 519715881 845197619 786674070 863861191 184974701 728919092 346812006 503375049 755881387 985995412 105591664 877947502 530701509 479043863 911253082 201638841 874972505 549291143 262838792 451646538 325494051 709589141 154519485 637033914 138809505 905485322 202198531 371765944 925184658 947671792 133007290 832569619 765262946 515372083 952633780 554642713 267423526 780844881 925119420 129334311 731528093 820210890 358284545 153631557 617073093 226571945 897242696 350128866 116474691 215581833 762221112 253543192 138483322 450082049 626049558 239833601 787891283 190014212 189220029 339209798 995070319 479914657 209467540 634490774 121745749 809337719 441295272 709238677 353987169 742344352 456693562 169118813 262834137 467425434 894921867 630072935 118529736 689729840 554017773 339387472 834618611 761769490 695698453 808809461 850331195 752295695 835094817 282923886 995638699 702070844 170640801 580962374 568741858 445697062 314964724 852417408 542153776 815532897 860886277 333041815 245955600 367284459 340377680 580795916 356158146 414534308 549203160 356430778 222509226 337202040 551025870 678766350 961518854 868859468 946734741 611020507 417579638 244678185 781827634 177911589 835348122 723248344 949094558 961338086 483409564 759149977 834893538 482422283 322645545 264094115 814553286 762945141 266751644 643640200 730363033 415491355 177926525 533877017 628313529 851559691 319772164 589849054 894687652 475545023 384581977 599396380 890864299 987732692 446589925 535586540 276943094 818794448 870481528 320438203 502253522 840409177 624037910 210219447 248470706 903806714 479294868 413394901 899942067 302816609 818723532 963630653 134788610 922565469 991838894 792152425 525164354 297089562 829536477 697323240 322208426 344935420 636489684 276732278 374078632 340349490 264315543 401736998 682184561 617723162 580644129 576917246 541328905 620628779 482368773 626673362 674537788 196600319 491339924 778999629 487319836 533558358 446592204 228609628 676886584 369635666 110021991 145491210 247563404 150761199 854810152 373372801 691235590 612119396 607610202 219125396 256109194 359979843 747862747 271525097 138301177 368224333 464829033 172434175 555351865 693202099 215370820 914173546 604795914 261491360 262481982 189557283 129248618 946104189 516752382 969977692 486171629 563577019 915064924 536304716 395154529 564642266 971847889 159737182 841096218 222325367 321232741 830221430 161372434 638964560 549897030 259972915 678409047 404646157 386422639 317328401 719696296 870437078 786786920 427522216 112001950 859835004 126150999 330127170 937128028 112796528 596643719 384717952 835625392 532561255 119758587 942237292 192417913 276053887 282729316 775723467 890241741 606389689 954142935 614977676 313667045 955435346 527377961 175633303 614861338 174621051 760525448 186119651 379141561 176683720 649644004 491805809 357213969 870813476 401322747 188733491 698279020 552204186 144466689 142313025 835164007 334713731 160037731 870736963 867987456 588556778 368860455 308091034 564534766 211313517 362256438 380935963 672370283 807250232 749212497 536608854 475117974 421396699 148558308 184200737 114886425 607749661 839330126 170986400 155348057 512416558 211779462 811757325 414081737 810492668 985100429 839685428 924631249 824982252 879534525 310285961 746940464 140369325 348135744 964557609 260567852 706257418 567445305 509201815 547453277 214405247 488935133 556499568 291270778 875326447 955720708 621339429 266016723 814528587 199165132 389672277 701828389 629246882 204697166 290403473 500758579 942964079 504823889 163546392 459955148 945564562 289193015 765681953 286300552 399348779 900898283 688021731 210005028 827747457 228538034 780631011 342943619 208401706 328808413 603061179 428225420 531893874 441798206 448147541 875939566 629841870 631592036 276196422 595881511 679751365 693589961 143157341 821376267 956645667 733845788 222827746 318484754 778504757 331242966 517432632 580945561 612004735 325621955 905861821 687091873 918243742 702533502 255948950 996799446 212526191 653328801 943065428 549166082 759127042 906277120 676079743 346424948 899739058 693102545 372043463 417585564 232988857 954765659 458159966 986180026 320922911 873222864 492479279 617720689 537600690 355115009 493790431 123448277 748081176 816401313 856502263 843903846 133363043 890088068 398905358 360049879 330114772 914966876 545526528 516196186 738016414 763097273 164678621 204619677 846017350 550910033 308577735 523623344 354659020 837696146 574839170 497415580 287619548 981219968 484206067 744712384 449716726 709753993 301153423 702673453 555428388 617807984 219784187 354709352 329671350 355165784 159148166 814914260 400772515 592749021 157206588 146563359 160966760 716804322 173770595 548503468 963396198 266983927 935874829 747216870 742230280 968883402 168923943 124472362 236133388 343244519 188364486 667378241 867647706 504363951 529050802 431044581 591765070 987731315 679209419 474480256 291687926 330291269 386792699 702412938 336309766 196779392 298054849 114403235 737811838 950920743 328579296 577094514 534364722 484192697 476941136 841175673 525762059 441650136 684474746 688994613 960188738 276857525 686962055 774794014 782354193 666595559 347493522 695468865 460522482 583157264 324670525 198702468 603377184 198593271 665317867 261819899 542458926 177597582 359598457 264325063 501954028 732393043 997533915 212698264 969372496 979316267 360851873 258803603 294447217 140208706 277012197 778806352 536234398 743172262 988143051 737736991 313040575 636663331 466316001 100527838 633366861 795944148 241160366 821160229 317415260 428051231 571878623 547005587 880800009 565203313 332955642 101987017 467155000 388694773 808158559 458177900 178660775 661632103 432779311 424111507 133488965 399560270 672711776 714793007 864075992 544078073 455112207 244291066 268991164 402325755 961996776 138707442 533715629 202546840 493272670 924768675 577834703 716031700 952043222 888774874 262936186 978763508 392477760 805680970 572833951 887836433 620950963 839782834 243098427 225478735 985928246 760396097 717692535 716366938 688647161 793498119 719726936 779005489 685986772 280172356 251615073 676602315 367169026 824348961 175084171 313688093 611533890 971455728 735411148 284753127 951810779 751920444 538408615 555222163 258642033 995951232 663366783 480266948 936032150 971031294 161154391 484142865 587864907 113157400 444511943 176376483 217175899 185825225 916243664 466964164 410899929 798460167 510900211 616929264 907157250 127824401 533433563 883471665 659904303 365552933 305609027 316106262 484660792 693254294 439647960 116368061 343710117 196126002 829077872 699363819 824385792 533844258 966275172 313560026 936512910 336038279 926062275 863293645 594276278 367191474 784494662 244018560 822252003 577037255 814884218 992461833 932127139 177290335 951768282 750091280 407361138 304895574 653323102 868075502 283629487 919486841 353965373 916372932 632096649 549508691 325074682 837460488 718584013 553696022 591709938 631845474 483727647 176135228 179105632 378040772 963730094 734082151 233546797 572505953 917557152 224375492 943338277 163595073 718742692 838606549 798112041 143741215 134935109 241458992 811665569 161088938 424966310 418094025 197597202 975209583 799240250 520996751 719273094 675429673 585114151 990087317 663827543 539164692 822314217 265796330 924096971 712427607 107852873 221007517 584560583 883080256 395945513 594336760 840139072 836922455 540299569 926052230 654281145 409948934 808019780 534836387 171014065 561112107 934943329 167524357 435368024 816474047 363300353 674837060 223952455 829994384 127924494 491914434 237471606 637974845 932110332 287352331 258869374 450559284 383858089 736838784 911449940 892892377 488289454 248144139 519018860 990876817 944321731 880243769 161417223 238442226 237387483 158995239 991940343 300123923 639024673 720017127 548976423 841891116 304055638 418784619 155048893 423644983 860723607 249537418 118747547 450009936 799478692 565263992 200696070 331238129 652586519 404273456 581711528 249912237 976114739 196347203 501942382 910907523 830105178 747452141 679667398 952256466 569251836 874683392 457826755 517324745 139582749 942033134 322055798 625321997 997125041 812879908 623421258 996272354 425274794 108684958 324438149 371024985 202647992 443772591 710751690 449775939 307083234 129820885 445931692 373994483 567470052 621634602 849294237 741487522 393363826 430078967 139198614 300646552 488923017 503711022 381237692 615290167 134522025 750575961 816624200 327226748 983265344 958974022 234433534 892937595 742738869 655473346 182282068 655584082 748581611 571537390 762163544 800237503 602152694 242918213 116976113 340359098 388773268 976984872 520387475 795301233 201772398 267453790 172713419 295866229 431073170 577296250 211967930 563195601 701929313 845835479 943495906 645234291 258400871 939352876 666400863 383991223 137827047 755923806 362848175 192007458 837362057 181663822 849724163 312930734 598859578 773326306 684732350 701252522 624526794 560430128 443086927 217694704 607137849 549878629 725753732 901773553 378286916 181253922 973959715 295986256 471779159 442503842 535976739 994478948 847604386 640011407 265588121 725777966 289317991 713063396 580639791 361547110 330181124 765172473 490893344 323393135 511460198 822343323 999506472 305106113 761591263 767840442 546499223 478387689 824772410 913420306 417932969 598151437 384944983 148155699 619570699 603229829 839300482 267539436 695416875 955138595 198956936 929888851 289354932 389995644 688336602 685064317 288739209 157902011 902733713 492392006 583182747 426504573 191061937 858430121 117787584 649596077 203288446 793299959 681748930 978563159 873583073 912069312 410977298 395302389 638544906 535469612 180386608 137625667 786282811 959285770 281628301 977109022 588173895 740427949 706536353 753493166 401314159 753657411 581813300 386727462 889246990 280669201 775311095 853637805 207057391 395457379 177956725 671331911 129499310 621049886 455394809 279809190 739143953 484614082 840864577 685549123 734737471 959982666 367609276 332573813 739809363 316388229 910765567 428744643 246967539 615717044 108490272 153241837 159189602 790697202 367173875 951024412 476207944 295980445 644370201 153935650 161428945 408811245 482006583 174479020 569779020 648650470 470785683 177082587 626605708 542723705 896756749 212462856 580156267 876666630 931831654 708683314 379568226 815187079 208890260 948828085 373432028 795502608 931887129 907055841 676277849 513378630 550307477 808386287 734326280 536942452 132854275 130374120 520582065 625285265 358906785 808480393 270765894 160793995 687842787 865634241 560997707 525379098 825220724 915851316 919360612 213926368 759119380 548701912 114438075 725261987 935464194 167392835 614385366 338643261 653556109 422919771 564984021 873310605 976088904 752181330 668070653 217019157 664607723 340721534 164429945 371383129 646673019 286963190 375908514 710581079 563213084 580645148 962923314 224562364 563794332 297434225 926397123 417164613 550567219 414538671 130133083 309349213 239192074 294124351 186922873 208400498 711274019 120435345 147737695 336923720 617442339 279591076 638391880 486139081 949280515 597646448 538906016 768592717 955382915 313509323 787814538 487475235 929079385 304064048 613283694 146721526 185917772 749907458 815541453 229396723 285053031 878756012 440176202 433925486 569171081 806608775 946387254 811062888 434289339 762657457 463543070 997374294 604111777 721639882 697887276 567535781 771111591 551824135 653796289 186372150 341457943 337791851 799130618 878897226 566264423 437992500 112295581 158141822 896892916 289767248 519241638 595280030 863493192 126466784 584320056 747370337 481509510 874035055 378551532 374580073 707925570 874786367 929514069 536400634 974890639 376031873 414626932 714289409 870975204 541645365 758514045 571549729 895116613 458460206 421241645 936178774 698488515 369259992 842214232 352268879 407907941 754177244 748083851 901771699 972422283 771755611 917126866 741325959 786431552 881875190 567140239 916280160 967252307 875654364 154834902 305581938 601010078 317676381 239991483 403904637 527377096 722066158 343484992 936888349 458470840 885888696 383275534 810167645 331447224 341606470 197357497 955167738 597870748 756201740 120686850 907393669 816980540 175023480 453684568 977706729 127454198 829597077 321690193 340154651 493508861 777013347 296436735 365309211 515860089 892088945 102552040 384714742 415992328 892983168 643363693 539808948 705568759 918695623 842627857 776193461 169854879 791640584 635937640 141271746 425417067 152679037 258170466 518945214 657705981 795463780 831022349 799283082 255656412 725874733 287334212 382444150 379058978 252251302 893914812 968798675 720902000 182102265 661214095 647296839 198071846 834695534 823348020 776713870 648524311 777398601 129333062 520726100 168211680 419819648 172101919 499306164 564377769 488186707 491541533 628078777 603709075 319298034 472854531 304363103 738226565 460788206 248978251 376349356 544771019 173663363 315489101 695204253 609253796 188824114 940606308 261913611 843127330 308362211 773854698 314415078 517532624 801890236 142217219 463686483 689688273 463637715 532447726 985266857 734814746 905931129 468605467 907417128 480387360 315705252 201395253 801567709 532005367 711825442 471730249 644912001 586743204 278413763 181331482 170860796 175809611 315824094 191912149 910769943 170840823 737207085 135194071 181802492 503431122 629284756 714602629 286192370 445248045 118583214 360406773 946081377 104739159 527013777 724122398 252987637 885747129 867013890 698549547 548457551 855978632 481956302 450443717 457239813 532044105 881469088 906395039 226833874 123825559 925277400 503122577 951067083 822973609 446511742 620961991 830265901 985010134 870437127 887575216 345081924 553734262 476447463 796820704 812123106 993606096 526019740 400237477 208956297 733026563 291303593 426690368 248947557 526038421 989433241 701676224 849627489 635837033 462794123 474517223 184485152 985454040 130692473 164872946 310029468 663013314 430071860 213621405 628117813 700667186 210298206 480372450 384835145 887128141 557550284 568877763 474375389 361312365 362611943 143102596 718226048 988366487 565186776 325527529 226059727 842646001 692247094 472145587 874847586 461181008 899312876 501030588 508338866 885690222 859988838 725263840 490598242 960525883 121588782 450664431 450108554 460170593 170061965 558590595 893085336 629156077 950949877 839190097 957917913 909313479 382732106 567398529 569679317 699438440 321274247 745605166 306894572 995324679 170140529 494633679 700762969 565640841 900951614 485155721 766134261 147458818 768804474 596408539 835059264 696561630 761951642 257046921 167919481 765160945 617236657 634419481 803300845 893383335 848247825 476178983 192156771 449041722 164467363 993290369 685529841 546733654 474033266 627417527 719444382 322781524 924726020 105781794 731699657 129935288 777102606 197426120 972729717 839636726 128387794 618593029 657102727 987165816 205830459 837962640 674979096 136838537 670054559 899171903 176285803 327564540 964394364 725283818 774594829 891477812 981744070 820665687 631811708 813278527 662198162 796124667 230269446 739531901 217684812 484518653 485403898 352334356 453639403 196403275 622237121 870871817 440806386 897369137 941129028 364823712 802155033 238342730 518043647 604267764 628023378 655338662 988489975 111157638 216859827 998652455 296870469 357033196 844712822 540100709 981293876 231993953 880486813 552635010 383573837 439037367 908015224 629145204 127556918 466416320 891331679 477741239 401380347 830671508 426489581 573572961 970001904 142582247 217807018 364723075 968133361 109179195 260888472 698718816 504170302 948505915 684423396 167306746 406249771 591011491 530491493 881109201 394876027 146171102 235530004 454802310 111340400 493964106 339931954 389626845 486715482 877727542 512576524 434294716 860688737 132445585 738234641 475166736 977059077 141238344 709136462 230848197 320714225 203236319 714746934 814796869 746701278 163974259 445633978 683029996 145937659 766978174 841026067 415797739 800050100 828912699 615571384 755426613 993739933 500408224 958780987 250814016 238427484 712561469 898856733 830419245 965085387 278178918 756536551 407360666 661144947 939564998 479779778 408532316 924748532 704367264 837441337 798102834 624616389 359453337 187998102 521685306 435597839 745615036 623319357 786158043 178431928 164842693 523987793 781073529 349484741 152541745 296561221 712029640 831861955 252240775 102723368 918264808 233359855 462415169 169091478 225411350 529658883 975510343 814569639 182602428 665123514 696309734 923078759 937321448 308677425 670059911 884047452 507381216 460511148 586575903 189784691 728579315 725294490 301844139 188048336 103025964 237325214 659019341 675495762 884284771 983541174 252525821 688746563 512802241 932094608 729895954 443994885 464279052 887598650 187461379 474959595 783906724 317214825 483462834 456729633 504860243 135506897 685863663 384979728 128348328 911761755 283380102 913937835 118715865 723902778 620702600 819599103 224688914 650709854 761716141 880733621 346182401 221446477 103786578 719032488 715527245 339575027 431872489 401557247 453688641 271745839 939126689 988742651 338875558 490533417 438857726 417160581 262062168 103962456 997172701 203759751 666863880 499455985 862825085 313620343 601758406 387948076 106947419 925024798 442026884 773062252 848304315 585254394 388428332 212876282 874471565 579901753 203858680 261049253 724455311 889780358 535343769 735025991 865483465 591219160 501327309 540749149 627610653 823057787 679795640 489283623 658146066 555257261 256215761 880088595 885753995 799019431 541508651 396823719 980260902 496855948 494913995 622141471 521766867 998132656 505412837 309278116 297269040 183707060 780355524 974031887 975701903 682539156 880365488 620229454 636719338 957554754 928018619 543883315 627352362 288841430 682825758 375520891 601434100 971068792 119589446 297679648 663944101 971715685 736378210 353883722 973630478 299015881 550456757 854166207 213323610 549907202 612180304 376861156 803613591 436122674 379967808 463722095 311261646 487255125 509161453 583530118 687978222 228024378 796455187 623080991 261397144 786812918 835901639 854135438 869593843 394388527 254473741 981670776 937989017 233643815 437818047 282183108 971720230 326607661 691573986 182086406 303574104 945528748 473994371 415438999 723465547 907039592 329767888 229148711 978025800 735290900 616274938 148801668 836383736 138092041 382442867 591404743 366090661 801389926 916422521 806450541 633659046 273873618 347586729 103985904 513968566 380281943 928710727 212206560 256274009 806608597 787499645 872872856 292307948 720635987 668674018 314654628 697685884 820264034 684019950 640243706 945204304 515989767 846062722 919169542 107653700 927354161 819362691 837896412 531666710 788177139 974158993 115448058 603599012 507362226 433292254 946282371 815341735 783623075 649210272 471849798 138251687 725182731 405624944 211055746 430538861 478202607 171967381 667341586 116974247 203932387 487840914 275485582 111790241 722878960 986898956 936332460 339604828 137422202 131054318 656475258 748737985 316556493 446181622 627263286 311210746 315535943 579432678 517476211 356846345 733036454 781270174 209726599 677719326 271014700 645569661 833620906 983380909 246015907 571040658 331607375 263337036 337570339 328193800 556464331 513871910 531146802 500732956 750228696 427318664 723620557 583879662 670682023 343671244 872949224 442948288 925374787 829916992 640692859 279871255 745430590 268850782 897381973 598166902 232822236 808198209 733052718 298696307 702887546 795355317 385405747 105283781 694593777 741615033 326468802 818405701 421103188 676189101 183758273 144834290 582664083 911198747 321470357 385380949 854091046 660379090 834804915 255445581 292924976 839805732 790241161 787620126 265387904 692587064 865045792 783530642 697326050 891057736 848625232 719788088 440578770 861430767 203356735 592996084 954242196 241531219 823230108 274773577 322268396 913686227 349527555 722683965 457066011 601556821 319605588 975126108 712038139 126717108 334328114 585467447 494220858 701684952 847815812 948846915 267090058 951420960 296715570 573458407 181863250 135181147 305014057 250508385 918175135 549690842 588778399 792295384 721935235 105273088 167641202 425519544 980788069 683894329 522053527 639369087 336875835 851544443 598715681 998230731 182628107 360613476 884795321 940412978 456836038 639974792 983821382 892986532 522746017 250668877 141455102 467857049 457847255 839391645 198362686 542231532 774684468 336319644 928070692 527077410 343321158 992195488 194224784 745134146 817811004 152330030 486278337 951370976 709559600 865116541 591741174 848431901 125074718 591997440 308603750 489078002 683379770 978778827 974712779 658960559 545043215 322978206 877036444 168249892 291705186 857861381 499294225 508218646 605094070 841089177 718186850 469258277 620360068 458469198 568282346 746654126 103142254 497681799 681844539 850254725 425449340 740869833 902236585 605278126 897822872 238660612 986473665 684370937 939357915 405748447 577106569 270218348 637147304 623837730 386479112 422070510 595925095 574635194 296649520 329349424 382347524 841388393 852352038 310000867 154656878 651253798 168631168 432683215 277940783 969798511 979270190 614358669 982480038 964880829 640505590 565513734 210833884 249840821 762234960 854405393 463040628 909356703 711760682 714836304 560429584 229285905 732884941 927518593 904117068 941974696 613127409 841975834 357863156 373207859 255535238 104826977 980299150 999137890 504619594 549686430 587929470 853788320 227005300 893686509 396429734 201418016 567199502 163968121 113046843 865083908 590128137 983330341 931989927 834598626 558265457 452656598 434865891 147721958 358485798 598810286 515825180 940510111 406760322 966162425 444352245 441715484 726829741 220406390 506086995 807137689 313612748 186682919 247180168 838898363 760280360 245672922 819405548 264545966 675949389 472088868 220603415 495811060 743797869 547789158 798916640 146631168 309553338 835021375 279599637 809826940 550139260 718706116 125944826 651710263 516024555 597747004 277555715 620661787 540045474 149023883 427791186 786295859 298210708 770627656 327509232 768618571 592254607 883644170 602673397 429317751 584259773 630753139 248500506 710491847 643812542 743869897 335699460 730664848 928184973 422703119 217270341 414500716 410835097 109520275 190768578 550985180 428741938 137406671 551390283 917589191 520115895 299559604 691339622 466056415 336454661 541842100 275765633 956856599 490290621 287824432 826035157 849875984 398288112 495342364 181077595 287971525 904740790 314225143 220017879 645887662 816029096 666103427 497100858 944772294 183027920 377960812 832589364 477024731 571004579 951696518 993680206 369030311 183702080 819366479 779086161 209967988 555099766 781171538 314871297 757069408 333076189 195582606 799816985 577678800 823519935 507712238 614461049 970070136 591664727 767334554 785229663 408357243 553072819 834451347 977094221 482714829 957273992 150461060 888370014 162507878 920267853 366437808 480723703 102962726 310539480 902626903 213707655 315238802 651887577 910651345 969595251 250098679 788001961 304750912 400005421 590392545 681499423 666081546 255068997 316811166 524617132 884421824 519724236 749131771 901604246 891695676 747192934 685022227 233170509 860659185 362018501 116261247 467487579 457226700 192068150 363477291 856877609 328153994 797177558 754429198 756375798 908221220 690102473 691215331 116753671 612297417 595848153 681500902 476690066 979149522 500737936 633884544 852947327 908870369 804079715 265763306 585733317 904846231 557972752 751050383 117200771 373461635 784225971 631459857 741902447 301358195 192602051 848795593 654744861 484048982 477056303 299443923 580128778 667680892 417640311 292949659 100738695 612584501 691602211 712781719 652363854 400306818 516719082 441770860 726807582 709425304 296044395 738642508 383131326 938794424 548008949 517000087 908011277 184167502 973327497 120113632 344454839 212903003 221356632 745277448 968825852 432190520 619590813 706939654 458142658 825847452 953076939 446523421 270738744 467063356 757588049 746555499 242713201 490338386 964576521 123784090 484338939 671787829 657179478 832791627 903448700 115807343 971090208 406105624 811355865 402242867 255981506 251913279 552791826 953920937 387969711 154547218 150359792 913963797 301994149 919908242 996380839 375215836 617106170 984521701 822997233 110319679 297550183 457551157 843865694 821366129 204073351 913048467 142085890 604556053 487164071 795280942 959474786 792972016 893316572 744949363 153290882 495390135 794281487 396404523 346576794 101734872 177411143 846905912 251378474 806164339 897888626 984106221 220886865 978296215 216507726 702352434 501576751 227079074 561437164 234033036 607881711 883743095 974020934 857917511 188417464 763393314 174022065 943026695 211429739 513902257 382706689 786485964 287332092 654294616 210365036 234769091 572578168 537635628 676615510 358610641 822795963 353514675 562274557 448812329 549380373 594646373 984570615 784863585 188556655 767591925 708178399 204038563 407910732 669039577 387230961 623322802 297625551 290618571 888093408 605573963 237021242 171811039 141973624 967067530 358425820 738317877 696049769 568671345 978843902 441697156 266065658 200297121 112722726 884234416 279366732 313902162 966359237 354121707 793850330 606846107 220416941 501753447 290546066 219128942 841528142 667697605 312090949 784909361 437618393 542506078 214884657 353981994 378391419 839185158 729154071 298822665 188073672 308800887 898283765 541655784 488331092 139595725 493343789 354708023 230528923 897988770 846360605 603064465 888460250 945125831 927237383 588744312 724355936 790674083 915931089 820861048 866798355 254295243 122948156 833039444 577084840 482755671 859078249 694383051 949780195 331583820 972531524 639124736 485122585 466593312 456322694 617448033 249802615 452103308 663512441 414109161 362911692 707447892 512782730 623695716 657790756 523538426 574413811 730109593 616921021 844729195 610347973 734254136 739737511 133249977 561581675 473163192 498193109 250503002 918847273 239883937 196915314 989641258 744347099 743435484 637501643 754434168 432923547 813319116 392428963 680267077 652577844 277291618 899598121 122305761 911552199 292444361 785955927 369943874 819222398 732360030 330987144 596232525 971423562 176901093 714321917 839630023 130924506 191838952 721607696 118111975 520886714 887447327 795336521 127040954 587788972 809537687 126564934 514163061 430565193 621025798 360761040 305678760 575085043 724594575 145959218 204457750 487063091 202416301 264489376 906346329 205478035 814758303 197665397 669928995 950254518 805938211 726070846 258868453 653082327 222978028 916909934 218474416 828477298 497580505 767523051 951954202 276708134 470712506 574537570 726330660 445527460 417765836 603834721 534189920 214957571 516010502 828133161 270248980 977398721 413140760 387125585 763813164 776288047 523275721 269872832 437815518 986543430 595336158 457552249 565181150 206870053 736750350 378291391 731895698 583827628 547533067 675082034 313911262 679837650 576026829 413968426 384885734 141472343 926554263 180773121 859705158 975616767 459695379 447148117 187438090 340135903 618502003 376154359 413938778 964300862 538782923 192174774 312519149 648193779 539853574 533233533 920701200 666426001 459709128 552073415 945591511 324302091 355975257 142011768 589185235 749978424 131182676 915017891 699178990 474053069 165583573 797463725 219209996 994997082 403040330 864219433 258894144 255039428 701027360 809698542 275269810 527096697 815383918 546863159 979609386 572304475 223465185 153965290 117826490 270147257 946220709 419012623 654845888 976714099 169523265 189529474 755958117 192425445 657471155 534330883 943037672 368801770 298562025 642805799 236738025 338304752 850405864 348359845 171511505 925905350 115365954 936101689 914123796 852606419 162617513 762957446 113107993 980327516 240691711 762362062 472495676 411631784 734267082 486940885 528743245 837876137 959499515 874504753 459923229 748017788 847370592 947007910 294376034 938704999 176286600 437830626 632278676 810655428 354642399 462779740 564359728 407216439 608450836 988762678 796380822 124349065 221021178 269593854 552369459 393450084 480951832 315269542 377426910 553980226 131247630 267589217 533834924 404947699 167370557 994019025 936746514 822783069 802167092 570663938 412986311 497392419 860992038 656778729 274329885 200231985 940960281 338486629 897003031 800226530 324311102 866020663 656481918 634161624 577283230 607780797 211732382 113725810 910733493 174757781 879469962 180404280 449201912 200249742 138176677 604832523 201534795 501290475 315652433 972888817 633672775 356688892 659569451 318974834 473782225 406111584 188733816 785163217 720958823 301019137 976185962 930768793 139304724 417372814 963215768 178081690 513817434 729531387 577979653 103302688 295175684 959631829 868899639 169369906 355731842 127119682 781591639 300466040 589317612 237397888 162841825 897533446 912737477 243776543 316165437 521341413 270132046 613768577 548459331 886298166 280441642 633909007 862136347 768924226 354963891 786828270 260422202 783449136 664625754 600279685 264181154 371412768 846490686 380993074 787413041 565785424 932486668 130060592 663783957 454338512 599748363 136790770 780394502 250962519 784862556 288343609 229244509 552785269 567914174 830687231 411530893 407833882 139565800 314000600 704490650 346464857 805686608 753858925 486614187 971838005 229195089 817417808 253274044 538152549 789360321 430602881 510012598 610401446 281517002 930002833 835458838 269285209 935467773 329443672 337243992 455939455 616434400 106790673 425831003 921043958 265163434 803382646 476685150 614150231 554652200 150852424 120778354 303963976 512046606 663933448 649053545 679501451 142355097 241805361 742566279 345056826 950445597 581142898 368927172 593523171 154289775 581065451 563650316 792343273 219073411 928990001 301130413 715789222 387829718 636943256 550835627 872891502 784404282 994074041 253873773 916934585 184093668 324811155 306358049 140436431 806337585 533790221 603837499 613791027 574179865 627098203 986213823 650277893 987728278 117218050 480861526 208470794 579752505 217255878 151934480 674847003 722256902 655832894 699744025 976239907 603594352 414815462 300932457 825556569 282627944 235411545 217165521 788770122 639389373 847270230 907797046 710049724 176543932 916097248 706667594 544508435 740556289 168733682 709455859 118202823 516075207 892223834 763883878 144827234 641818593 377988628 510717898 760837195 948596581 531037978 507311663 938292134 849970218 794963662 458859358 511811767 838259250 789007679 164834259 491447404 638709296 740629550 198027395 895447942 124835743 148916407 681767750 521543048 722490356 937565877 943304782 198054656 310590611 894605690 280599214 810499735 496540455 136932346 242571280 705692202 746493523 430466226 631352740 333257405 577433393 901260866 580376574 885779390 378609573 220322410 564473804 165492195 257102927 568385267 970582575 282331170 744911763 567658591 236598496 201524679 203740423 267909945 205930124 715366404 454688941 973327502 275616570 992770485 852726173 458173649 779666628 444334376 253182427 427513890 333391558 249146249 337363989 974791634 815747223 874255980 457504492 246303497 635594454 992126611 242080261 237498506 582556400 208718957 948297301 933968230 953560889 215061955 542927759 380385716 835347696 876194673 197703907 934776109 136098667 381560781 475915848 979697747 687617712 115342725 708017040 669753887 100166300 926663122 122321719 664161885 797521610 775905968 115310662 938611065 872229320 201125907 848749788 567266919 391201721 727984393 499801497 550432943 691990300 255788442 607240181 822289977 136677625 519058240 382004761 761196239 855218454 908771428 808533696 930016838 243250950 114787473 820541521 540980837 321325159 418545329 755043711 745475748 582874788 640504305 491066199 122787584 366618251 786183197 395633738 831228850 454150495 924745353 860537369 696025307 317466981 386382792 542963210 393095082 626899761 291610445 909944511 483257212 313665309 349792035 593269001 720989916 371019827 269943562 393868715 208858759 653701252 267328445 376015299 858765477 480648968 180950030 361174166 664006650 640776516 815520759 985533670 888428238 167215038 977072857 719449439 349353394 768131999 772559841 462364799 549242888 665012736 287130236 936473476 394181391 318664273 343536318 881583401 567106195 486273038 543901195 994276046 377626924 912904323 802668719 482068694 158613439 536230943 981125765 482554927 884893892 684074293 596855603 899706019 452860014 618864826 585623699 950705674 174501682 181243279 765828576 341668224 856708263 625505721 447084341 415884614 103283119 146700477 407846963 402036818 521742558 147592759 501591601 627288554 709758277 336869425 358267088 697653091 523040811 422539811 525387089 895661789 369128387 817756122 379469897 450448470 790232278 304765561 852526327 397176220 224877000 232049809 550303166 820003084 611716869 183151057 811236543 276297085 529240105 471369891 780487476 202920640 889889746 205023446 348423984 683690645 369425600 976246066 336617659 924701313 350249666 479260614 506072637 714928578 397016737 360061626 497897997 947833773 252110670 167185283 208135788 906070489 148454033 552937296 608361951 136913622 324330652 520601900 848127909 475641275 676041383 652124366 283771083 779119427 789922752 677268873 606027307 265908776 327437797 164182147 568194237 649577774 317910816 921208391 492052589 651189881 161160738 521013272 282482899 596864249 676610192 552073297 651559299 821378239 749358749 644761127 805486576 432035967 731378399 101916872 392742962 442393295 807330424 450953899 431426680 162792978 356710488 907708153 791220965 842985560 861313032 572587227 623870862 891742563 117889381 133370495 504939440 282724030 669457523 598836408 155391211 579653142 411648436 821822837 873957873 211342605 540409132 113467848 883040751 110147674 918024704 424725862 225837105 613806855 997915784 162219070 725801664 701014029 771565909 865930597 474280759 581645757 401302402 564063814 233774621 530480840 562827854 995571336 390668356 935033984 173587166 540720622 955918333 791737730 788096181 372393099 888180743 300813457 498463344 597351978 429912617 931605276 467930338 784514976 532559348 650658494 817353908 510682372 618607784 713876374 767257031 322779504 360664090 588827273 166517776 616073007 717980280 205894862 501467071 742635134 827905042 293354536 568083188 617906392 370252482 873961014 520621593 459967478 695881475 401098103 103441725 322605752 729550235 104835563 215089527 937583989 261199997 558003646 335815999 512784079 163932658 869477540 920826741 176324332 143417499 246200482 696583566 728198171 299881493 706097943 544633882 130138057 425615366 310772727 157225093 475932130 582669657 420767281 783495843 386776279 558239785 348073590 437489429 671663342 717708382 451160696 185781635 116107281 314010501 214670595 193298933 349437979 827034525 166364730 649641468 605571092 725612417 612464977 702136455 602595577 853186126 415878533 639851553 877472004 460466929 990466734 576994224 198552347 594506010 457827066 450219084 912584765 313853626 383988522 976603707 922926237 154620150 619897496 582605547 812047848 953623194 560688937 299633690 328509804 695889526 809343224 485981508 122423783 601845896 445425790 851909033 965530481 305571443 526779539 349655378 942182247 507072107 363181134 933249950 452879933 826505622 488415683 125511587 416078561 397133071 399083533 225573881 154685819 192836605 101553418 211682625 627896080 557816450 371351679 497937324 164170187 224489182 226048210 761122927 818361237 334933088 969787423 394513168 792817372 791537867 886111805 990148398 534314874 211344820 754439740 877188583 373507214 129628819 689589625 619065609 603696681 231755091 708709801 280515452 659335810 902901431 497936245 738451064 874856186 768573789 108965853 333976258 857602578 188579002 150440921 967484779 645114901 818380208 605088497 981201493 191498641 413801642 498170566 425617684 234568906 367661973 688664297 401257049 941774128 392083254 554635462 938001098 755469909 968085205 715529249 196284514 967775076 415578159 124558401 798191328 817826025 417755843 319046300 763432726 412034048 694453219 643310117 600071656 468756074 588754860 956281643 418295920 422430828 158541951 987144503 357866053 556315802 410449694 693617131 427054901 384538512 834208371 997033463 510218412 279597095 257981321 941266621 402991242 649724505 740213921 892336592 643234991 330944173 370400517 428186380 892174887 920754105 300944336 854811646 434167929 361542176 797121360 230499667 697636868 424325297 406017602 207671375 939379788 839691097 418509173 868564653 187252931 183712594 412851461 399940048 821045338 105578770 282975696 157887702 976069344 619102049 228998859 115056259 174069902 808443874 154225106 146010704 821506739 268249937 953830310 269407247 559746734 480064457 622890958 385372925 944804790 910345217 513240205 340321017 232491523 202445422 527083135 241325283 549173036 861514547 442141911 927839151 990469707 293050168 724395470 155029252 560576766 809525453 818215239 565081957 324155665 459358690 850598523 472008199 315225798 298820621 128780647 119180093 854957231 522591544 375525468 413221545 475558662 266910631 233553212 811013829 879908630 276952845 655443869 857389524 754444317 295387080 998692975 823696732 872179763 754384862 287614975 537051331 819931751 982818649 901459208 126188237 235220117 377665904 615180548 220370184 834358709 977001805 796309243 209745819 229019615 218861956 259163475 921946742 607903345 762361713 269036781 589635115 986285114 623554728 515927831 374197684 576331993 973778983 405146215 434607198 460266804 932505805 314915128 883533160 772933994 453738506 165408303 492286212 143976171 595904773 320745676 835686297 423623510 668623016 832622866 565765165 520903357 272302092 747159570 504851149 361266912 456555482 438934007 264508606 241177435 116038429 379030835 702964729 632229117 694441063 867570378 491095272 332456862 490538200 637177468 873013519 236841241 596901833 618475074 162516970 447757142 771243779 825970756 341843048 703149069 282204577 894988816 277811572 360873141 994386891 747536279 123907808 719343990 277431441 805689678 910365653 926506190 714924770 756929713 932051193 281696049 618628297 919847229 572674687 844370241 107850020 904219353 462891214 239853648 904839729 955667769 629086983 969523358 390251697 806990853 870916513 747903790 913960233 450436051 442025391 784614636 178256629 134883945 144656327 164851447 622444250 480184862 804282970 672085849 518543500 463894188 472995007 968045354 940679414 261796663 524379863 996436837 111967393 903537240 339531570 216895150 585308062 231812103 786733421 585890844 475445080 728841918 533726254 743459845 110150616 677112113 556205490 469644325 124536695 451391024 217515635 727301044 324991873 948224559 808822017 240677429 938698452 636240065 473090764 400834260 812848523 448230181 404471958 557625700 458314439 943723477 774904714 671421331 566914390 398870723 572887498 692165372 659136844 226340163 446449808 867700081 151244484 331289702 262217990 364882801 413053021 471794221 370517112 152679307 739647064 576121681 618889231 969046845 182665486 529970910 967180490 219581243 318714846 670790978 321927109 235015383 802040923 790685398 221260218 411811862 965882789 311362071 741461932 746993791 247721225 689420300 789110351 937619899 510342543 493768070 610689060 458086573 304591378 605135022 410299293 768973332 779492331 216981815 239116464 687242954 393179800 126359345 320878049 354126798 368122867 664483233 613612499 723135933 524680491 456444223 628606774 265506312 173451292 714455834 122042060 833567923 696625440 221506393 622574654 346942339 630826069 155807874 726199506 607799043 781590841 246513063 278409475 643883876 566848687 708599469 843541151 659207032 425850052 630791292 478529765 817066372 975319997 210845596 714249040 776293756 257131135 814873912 558414607 995293187 794297205 814090783 316082323 777111505 706414909 692752487 943111111 943465613 502910727 101210419 626333795 344808722 560417385 363771968 918272017 412367688 815555600 335551517 885084352 950897997 117063726 372111997 440465236 303646578 713939829 837868375 107320832 584978513 836958575 401291724 180515420 398320168 749481557 503851997 508901647 189406567 405532141 198762864 874950379 859367288 523918868 308176366 240754536 395237341 990171664 930224952 972477849 718426754 120481509 579421390 269225985 588377695 800460377 529388333 618368340 765170361 763740997 463079285 446190664 664488673 412348949 250705587 625586587 115349608 865273566 579280015 261573449 741390262 429302982 773122109 595849713 864491344 144986496 243728584 949556616 834326010 963760050 271428384 943993836 557022504 393306841 187028296 799914394 636727781 858635797 568484642 355544238 940713474 613262487 520625037 197599072 758502796 321920718 154765301 729723149 720905906 750859490 919004783 546882004 252948182 287926771 674033419 845854806 880728502 520821256 243538661 206648153 480430138 610943470 533962083 555468803 971673764 815558380 597865548 802088757 657408760 986112195 164895390 363684076 473545832 419382430 374887070 398457695 110229281 667655384 149233932 244659489 684482093 621292979 184682915 545618422 694604382 603319564 343767075 286236339 817550136 970781293 118316538 441673119 982931491 548567052 158568977 681726551 982375894 689939296 796782764 345080138 156531734 439839813 529152524 851672873 732333689 128524863 515742864 733474231 927195882 152446860 298480238 414538437 558686378 420570370 378170663 913459497 462244002 304546022 353036230 851268021 169289621 371272595 851489661 908206430 791795799 185952559 155869470 314930313 960412878 705330302 282134761 722494554 654660543 597960117 833865117 346430371 829184998 707601657 366045898 141169811 454400294 885229308 179020426 175241797 472268995 717416641 849148905 259411039 525245359 728607953 232904145 836633150 919654268 356784748 766057169 366648801 970298956 696461444 400457663 212523292 465516159 882737566 254141608 779920485 280350449 117618311 677110197 678325913 772250399 255880089 572203656 280612814 711935289 151477267 482661513 737394721 409782716 152421189 697662543 297239205 305885879 172161206 416881791 542661760 866171066 438931723 766837207 172378737 404918365 641538208 824468356 240360935 274933459 876348556 979107875 750997470 903196802 298409841 902959786 483844673 534821906 434722220 363187232 733606091 748734694 907065515 841130469 334543419 445220778 798145924 612767489 411093887 428676745 929434540 185178696 997993584 263058925 169980474 149960460 788494235 300583315 646480444 603509216 637650947 219484545 651577565 285193077 987024981 954538108 765805343 594619090 926580899 168121115 719087394 150448518 345054673 381024248 696441268 903605154 823535861 824055076 543867693 417709404 122863898 246587738 456389613 192528144 658247048 219308325 733973665 629991904 973139053 226621020 214067375 203309386 139605328 214109946 266816442 890576245 995785528 721246606 580240925 915533265 822035827 928135371 971740264 488454335 694507858 205733862 245757799 603605977 805634575 706213270 214222150 169412078 565488100 469901647 973338837 923229671 633611881 798537365 312913298 841315152 992693299 955821475 302231257 592816045 345035422 510648867 387911643 165477301 308760178 642470354 179932048 944788124 181496275 487957077 589415810 794385053 152827597 139297869 991838296 890406727 490842664 606930097 318645158 407486329 247655550 764897881 872543011 538378867 488621173 330268177 333791617 859018931 150187101 170049759 785734815 441995822 402572428 499671553 800460607 256114645 348945360 544134354 263974539 152719631 515876006 275134179 762234020 953236872 735501111 338477674 897441159 320740378 311229387 706074910 897557885 111555347 287958041 253613693 548747229 860003059 138722006 887651300 482347305 657642086 839479098 521442589 831187616 887259302 454678293 895831139 416224242 766829939 669074686 511622176 449430867 617286850 492037408 113102663 642373416 915810215 588779293 948501196 611622670 274286067 389939476 937850169 420655393 542853203 858633682 804840066 509433553 915913428 724534575 661933731 332343238 449912693 812551368 420544805 862553659 691278962 944346466 903264490 805581576 902651992 268282941 481637723 572006461 751632527 748976475 356159344 971710096 536762774 670907378 646671369 305482534 996949173 431633365 281091216 310960052 255053255 224025905 531505244 405805798 242491626 300635585 453003236 222092869 297444162 837518072 466860776 465637766 255287444 273484680 334271660 944176472 466591741 834911727 347460788 517047230 715073940 173925924 898320439 112463158 997035217 149853304 544385487 383402011 108239096 232583905 601292710 358657145 794357807 381949379 939408100 510845109 972558087 484204941 488424554 891048888 117654092 222859570 829303160 924499989 827365848 883626438 859968004 117930544 419582451 585681965 779902013 724522353 689788013 825573732 880852614 268321134 137220923 984565805 696340473 128405978 650308289 623444534 263416911 609093595 145250698 219624812 952941189 894109227 419130862 567492789 529431222 208757027 768094267 993705170 842618411 120183053 735321725 835270355 249920191 244077442 684009956 745352523 955344296 537874438 942300795 320581069 393721166 249113812 116046380 393232748 938884237 789762058 867035136 620056548 469990478 631623968 263537730 800411309 983982382 377656376 108283544 197865014 305885637 804411168 930960478 611760759 293594479 570580085 884839903 752913790 642202927 438192284 571078930 765689824 443846480 319040301 198171727 993609189 540481719 278419935 469730184 371769049 214767974 405512184 811276783 207681498 359640350 859183469 611584950 506122947 364928822 539937718 967964249 879379145 911479233 812806630 702006345 753170951 178804046 172555074 851273083 879578044 408547908 160040083 798338185 312536859 618156994 212049854 660466938 209072966 390504382 185403425 864228167 311675861 352208084 476874963 674628516 286748330 512616607 608286758 927835220 331171523 145928074 492300964 174749094 374961527 466134272 466388120 321971534 895495952 904330955 972455747 688306968 630006054 327155055 485987299 337904010 993645664 342543762 305718937 410809610 493626557 471783507 974714941 655794963 105708547 344272030 854722561 202086979 961769078 388387469 938382384 798854856 310511241 666272394 482433939 243110082 962239965 348810668 279186509 101550259 662999763 797770171 268321758 877488345 679313484 296688662 825856562 916609155 535331508 824546704 452303236 283285128 194037045 288282285 366099651 619168656 765009645 183372111 163960739 404433231 463025528 247185490 869895373 752910671 847907348 297373147 209649965 943452228 296939124 200618345 177549051 222174358 951233695 387850817 330375250 891523776 258349444 571858816 580966329 131652227 580835356 159516834 801851594 837950225 555036534 572408776 913522820 265116154 289098982 729760181 796662482 361528498 956064653 898394218 461811136 955600768 771798886 511400566 154320689 950670872 516008401 280132573 371732554 258326772 905275341 854364745 162518485 922097449 326523228 908439523 743886643 531718913 654534954 186298403 836406939 874273556 927173481 621765108 988492567 814737949 940367291 803858392 924381756 406457205 540876739 223197447 468876666 214699559 173982145 504953053 150898952 170774327 634766386 754063223 744371076 799181686 734219241 209745795 636065796 467607186 373400296 102303442 360408418 236561012 664613763 751549438 859791463 185339741 394687105 441530655 255470460 439522000 393109758 382195646 142063110 719206201 817199518 771535729 923014595 404881743 626414307 762215338 487881596 812227064 231377795 203346090 584085619 189945776 405716533 981195467 954649912 885796435 438724747 519369325 101381148 318843893 126184657 662292521 434839401 956818562 734511532 891304087 519516429 925134191 502260700 123487405 319514058 597888364 893412310 797476066 786694233 643474141 965917501 627851806 319990929 700228733 156441044 426632081 706902600 874454917 693416397 694163540 705052881 279910881 789677487 293549350 956457831 916791463 716663626 102940115 948844390 267388582 523570476 901497277 593535293 543292483 911716556 792490201 489505974 805602922 956845431 909250023 198290950 967507608 816464053 997329047 210776899 398833333 391475900 931629806 670458934 934137738 388505183 379287890 974440340 683904381 848963269 158974754 672605070 198180976 669800281 792151815 523251023 970230550 164553273 865543789 485457115 945027388 242375660 970157591 266672539 980440828 485428854 124449489 668096566 652108224 781667774 278918037 999055282 314337097 714319750 564584038 706311654 172874852 544492831 500066420 945760579 378442426 369036997 457282352 725716328 955135368 636533163 998657101 866659109 150434826 616749087 808997565 850036205 532107233 365681181 181801143 758119168 524884945 381148635 709927309 722852999 738325186 294510934 161984499 185324327 243010091 177019852 288000080 601569058 447099558 234872108 398578645 682404875 145884388 437682257 785764020 733232237 954599318 691740696 826407500 471794780 911178093 906697389 439478877 224402328 850747517 549775198 592874509 472982257 671723599 544887223 126201391 592146136 829013481 320726698 318050197 759421187 742286999 759961630 328773158 812172553 689339340 593975379 897545191 800721206 654466716 720417345 155329699 419895421 898628864 674616252 370356231 489748654 265157188 692072420 228216125 294608446 750216254 560483373 380948877 452820056 866040370 251344114 977770159 221119216 117487500 834138537 257537973 744299205 982805192 269542354 291590640 637216912 344551842 379738614 298377312 810959594 814487734 439430347 306182439 929545090 862424363 790735798 465932507 625843881 313078076 797846616 447171856 811876806 607942131 366104298 383026688 923057602 200105669 991302229 976921261 919260051 937660441 527730392 417591653 954329486 809879504 949283256 591891246 620587304 308038259 554470431 929356499 513746810 443884536 555421130 285186005 353364696 367063202 304760899 279700747 176267649 668040463 931327885 796704657 408271209 220693790 733289395 114812332 204349810 191159550 653582117 149855710 309967382 608522285 302981153 827783433 783646332 456758526 533311894 611152954 658607151 193500091 466544379 651094387 711938527 180980138 279487179 143587776 121096809 788439581 268872471 648742023 783605516 227791481 760962379 591919203 608736131 814939260 893848791 335501663 300081114 290690842 740520784 949720617 445965882 873110714 743705006 364983016 639634672 822023234 730686705 584108937 967549268 958985757 718447533 915127177 781204250 976049636 763174272 267190626 809509341 564123111 263145842 482581253 577025714 434788173 646165129 912459835 134325872 681041425 136424223 284052181 337996856 156361533 730521288 520093969 860873357 880972564 329446385 908550693 774668513 663438681 365405264 168784198 318071278 926100153 506210264 404255113 587638410 576149296 270405426 589999666 663080430 776309329 495689609 938623333 878866805 496500068 814875633 876794334 115069411 312333810 794528828 747103899 532844154 130363419 607149792 547175974 237221030 427860976 261648268 801064905 539801263 981211061 358727985 713553238 789108528 477656387 374634898 908235875 890919231 172491410 756640430 865005200 443928899 363361610 609271642 429462431 597626250 789286138 437202965 229237313 265658327 595501571 543701640 527823462 399708410 735303464 956564728 182563271 385661460 868841999 613002316 144225889 623815089 199396296 843573947 100389129 512823809 641584313 256376079 244719452 609591883 596541359 752494221 705370693 504073416 798078371 877627791 204176566 318247375 537986821 296468760 825125141 354497174 332181465 235667482 927343749 397349057 163828433 482241950 841560385 617195809 498702292 371192467 444036231 813523336 891796458 219026017 721260370 788166549 809538816 616278296 494607811 281588001 139474397 699835605 851008742 199685092 560076372 275656368 618783918 561358891 962063495 411178556 275477312 926309801 238305199 955956039 329908671 344944766 796641938 256283797 759326160 131244621 818137339 222271488 552070937 274705567 723832917 670485630 643134805 211073803 870830670 910659133 725367455 783388734 817627583 402078039 627522195 208291618 388544988 376829922 171040461 785628110 922993394 965076875 449369842 842096535 108338751 130897340 901788592 320484212 128084257 768646975 474015028 117067767 249460171 320393832 219997172 588349518 717978199 478434636 232325889 385751255 789525963 926542028 730219237 406844939 397814994 402917694 815157809 691123395 965421158 132728903 806574143 846551584 291365644 306233217 131317082 999839147 725040533 400787860 958949308 776785042 968701864 295927425 990333844 378167253 708548522 327000877 462078240 479258187 996454861 659546639 908704955 144359901 592256856 834803751 280920937 585651141 680155976 369575014 556594554 951781889 445258295 697617834 330375693 994601340 659396627 261550122 992999970 471326686 635345522 496240854 243082118 740987717 207680216 464483781 588196087 179073598 602002104 639466389 996596042 608100481 488830375 839770993 985971326 171915273 490687443 910002562 379400186 983056869 314150663 928516591 352163879 841225116 499718972 912562791 736239622 139397618 364588355 659909640 884396904 745745795 368708945 945855185 188923413 577869705 514587567 633594123 732498296 687224456 261106286 244653653 874605993 323701958 389087902 140810575 954481449 505394401 227061987 841639999 153076896 745505003 727628331 338182406 621617412 813304655 661339390 838593089 101156051 156019176 344506367 777703368 954736014 913801771 330366728 507620684 469262758 997126547 541720024 891153374 185604421 472455761 878048491 845183259 895370215 215138564 652429514 414047183 101038765 133022593 442790888 577672678 748858196 623194394 530379820 911987278 565221320 722817055 831967377 813654374 295823427 516225252 329416125 635989657 944828597 212035115 766176111 371105374 724655835 295352658 227846197 225938913 605055994 436437253 646216615 220400613 759172929 534180533 978236755 261898870 294754712 960529128 641474725 411713612 429563933 984659097 100089698 665435657 864583129 471701668 199838793 108655657 409209185 838957177 486646081 513449708 538567038 724795245 155948158 958315179 644487221 732677249 414447846 458985819 931341821 817645223 321928383 133239133 635458420 974927345 159201797 431833063 515047270 231291100 962872337 150604479 468271008 722959097 100340578 329783888 666354093 839289163 192905641 872777601 892013222 367680448 140288991 519583797 677766768 605771173 961189404 123126628 949011266 780980396 785896035 743393719 696776642 987048970 268559917 937307863 179591743 154365943 956600270 991980637 120402985 560392008 990493008 279485260 594439220 939237569 494463338 671713280 107393831 364930872 663814854 530983774 568884951 789864367 340002286 968409276 742757364 847668626 461073708 912987966 521190840 274162857 287692628 186739673 700927218 820509617 369904220 812847838 652149499 448612675 937732976 261580547 315910965 898679575 391161312 658082861 195566500 478381617 494087095 411199341 463969970 565427372 927689392 931706627 315536352 555034663 984639024 415701594 221858072 214255041 155615756 169177579 229825621 934230458 351099438 976497466 424873087 923182923 347933648 229628409 949675599 394804893 784570953 330031555 445708533 207812233 596897372 348550935 207129244 174972892 966853651 813643626 267683084 409970100 237391015 543156191 272161576 526827077 202216748 810183797 350504687 704654568 752795738 310914134 740434276 603810758 892351943 921855085 354304727 873201741 391982757 765427791 226250235 428445970 515273342 873341795 256208752 384781512 325553424 454397864 960734473 694806769 436120273 886885902 141048118 168492418 705853848 463776238 981391397 475427548 304193589 368751014 140014501 629108054 630645437 133336812 760514426 172963669 240841243 914712380 905052282 940319887 652549786 459689683 337065583 783816998 284346413 206131266 416840978 218407082 969727642 306862346 147694067 385049940 269646376 852379438 857233806 881229117 243740513 713170870 842423376 763751686 402666926 807878523 963210130 647755104 230608186 424189380 192265901 963227768 982895934 933991389 438019660 253555586 721255480 664478277 717355410 502605448 991341510 298530304 410065939 804143121 688208018 522070856 671483408 351437450 678193238 425104190 951206775 330751129 259267174 330915872 314850415 401901485 517731093 849868222 206491267 402202755 603324275 772215246 372413726 277737722 196099827 886054262 392500497 141967031 740468938 662556507 701910302 709879566 476707590 873825840 257875229 453278127 739930660 883106758 182222417 464238978 203384951 688671738 682602321 740518728 343154898 518638114 826670831 477912941 265206030 778693995 239911494 664722349 281411171 298213426 821478054 253073503 575320678 398122455 770467105 427109963 588748033 492351792 497871504 918886877 674779981 186677595 196735701 248828687 561850075 949118871 781838972 458341222 643849366 462418533 887202245 545014876 396372761 468296921 107963745 846715494 672957331 156663009 498720054 276430309 916009238 602592197 473082846 252393999 172410013 235908787 745449119 144785466 915279411 684962566 813862669 804274061 720424571 423042540 385859481 801657684 564115690 320391096 228703097 181476703 392679903 214494307 865695398 637145617 867417146 471312708 262467645 554267540 776312634 664813553 530553307 223272577 337118854 490943464 869767372 267308538 835428624 708205120 570882931 568940988 332629798 235343603 356844169 524361273 876414125 530719018 173186003 149384242 422314033 373340758 462571812 609753675 125216178 646431144 458040869 192630150 854065579 186383787 152031758 509516396 937136184 223406479 956496274 538527535 612654654 105395223 900458940 162163316 615395631 126776935 225421857 700045900 853186861 763273550 703130539 952099499 540521369 100342927 756456300 593097345 671819525 631069836 946829962 392431609 267904631 398444651 790863803 887931205 273229967 414112271 701522204 739456292 394677077 553279608 161989072 993439672 799443461 848983369 398939425 428617691 654737991 310224784 408088797 723495247 651642201 196983341 566905267 187628852 248834830 638471716 989429266 927287756 822168348 442931443 683719055 719402214 262018666 861544261 431139358 664180552 501869038 890810151 744913068 439854433 372200725 449043938 272260358 183144483 908513789 888664637 308482400 485739295 238607711 955047344 396406338 167761627 180475648 880243836 875167878 982678703 840589403 965679533 164289338 407206771 183983175 172080550 609282865 930287065 551170221 970391306 843304547 190852648 914644467 315829971 807684032 916313940 225558904 676115902 239403611 750252912 629727681 851869844 409036009 879946769 335282460 962809677 404319606 974443748 821269783 354791681 350144292 618246406 567340617 205941905 330305873 746224216 669728810 259592938 597804611 421454055 524827015 994929080 921331465 176985376 480265178 244168351 239392706 171054590 915695328 446191775 949908185 773431266 774938526 253100982 995334206 102957519 392050926 346085855 523648850 240494448 671477866 773652207 716807846 104560124 151559939 947124252 988584424 959126716 664074563 744589854 271401799 131852847 934540469 751792358 968624978 374389126 928236661 806485759 903006340 202888365 634330342 715482482 500943940 408084634 261634989 483927224 389430399 196314266 746143410 764866910 785520476 258799244 701497307 630483694 188044168 878915827 848513818 426060081 723169220 773847583 432437116 645356446 534354881 951610715 483206220 318822809 911068194 376047602 109904238 527699290 945457622 678076342 334203980 197417819 807066575 555909043 715288777 129866002 282754005 204256988 453191117 186106003 558803442 934891404 130269111 847664661 661281057 865727837 432400204 201482606 626816431 420508363 902511381 397695904 895522025 996600014 139291196 463954330 530899532 612015997 532251629 902334824 314140784 681556542 732351629 775153667 192426104 228083387 339102999 126253114 324960440 882932779 240796106 336327577 885551028 156147355 806788659 639764027 680768003 130174522 105899657 581742297 846369041 615230657 179846927 667868162 217693843 477875423 596723606 290274102 264211181 978367463 994983223 387983680 999549354 351646645 555794608 311998014 138559592 775662984 656693665 746130116 588119368 765988234 301312731 445248676 420524625 220146567 834829679 860164173 107141163 784745779 541743733 157027929 712082920 208843939 698356863 781981677 654801522 772411268 401086778 108023611 566923778 900993666 664933708 505890377 881995926 400349357 268078027 642584781 768435564 577208809 177908402 488212031 728023462 490878286 805882146 157777020 607722896 737616021 910363206 424197373 300559960 306080369 665101683 191029458 411296593 589725153 679287277 548271330 630364727 179718823 462967601 638095985 236821663 970310200 227522252 968812528 839370366 522442684 185114507 584502399 515580133 859465043 382595345 688036932 877846668 102065234 194558724 384566397 855206591 564620241 541975083 375173461 629053818 463223629 609143905 284181041 133204840 588315209 428644521 755468223 368043006 450321119 884222417 568589475 488390424 733773499 497216806 859199570 172903022 414959569 637399895 840259286 447280024 731108403 715138209 611038416 275327078 171469145 325124639 943861590 397632642 208637115 949126317 451330738 145899818 376727330 971439377 120755762 351490817 365586694 268246589 938093760 100728845 672638552 445713020 712561539 968993718 941854220 622491348 237648062 697923434 455355694 429250001 732972903 514304090 327863001 494214446 196169632 208376294 917590738 752047793 684135706 723783755 919660536 281844338 483961250 612618677 150360703 821048751 601840349 395465751 617210970 144795210 949638476 151121383 564610712 196342746 933560338 583411155 293159437 482671966 248998472 638601577 700032548 961104046 745941876 210161025 509818162 216946848 249003191 445393651 670153089 809422291 256957079 443032142 361773485 308092224 814438874 505068750 553849320 878228599 416113540 146219801 735659770 638041875 549566339 179179772 391603977 287710867 542537417 742112736 234385416 201856452 217593705 442667552 136892790 956187462 464093994 863083404 326324708 493897301 313694706 501355817 461683297 709231483 386921838 992289388 443786116 982683977 489213245 603868074 578269755 799392818 512356238 910893107 570557832 725668614 317204143 921609506 314640316 121262988 989253319 519545799 772489036 271749648 503353582 637093719 726502682 684394728 537718295 751470909 727208352 395480907 276874358 808841581 434416709 424737330 706914154 256350081 431896233 693566344 722957952 668390759 195903119 190942775 859338733 179291205 728391135 313962546 940647171 313326506 602823281 875257711 268529440 619086968 881153170 909674867 977351424 202103824 891500421 970722707 914851230 846273521 451349616 427248847 346222536 653952627 864829348 340273089 661366412 207415614 355513229 325351996 742411644 587554102 756717121 865512358 553631874 847380103 514630051 373603471 222162555 944796096 556430700 460779888 408899130 511924503 592101041 548557957 210362970 337646787 294190090 388508318 807386422 389204937 953022797 472794318 812897176 789124522 169339584 993168455 843043989 694792673 854421296 105950748 518881084 775148377 931120617 577552968 411269944 529710384 516814937 524595147 334521010 420350063 409247823 316510189 319570110 150480603 585260921 664670410 762814863 233198840 108474190 395779947 217701898 771180444 654044357 153587863 792502752 191556009 219977704 791345138 870792480 330160299 417177291 131320963 706700152 386220707 383659811 438868016 852299638 855371053 960574853 891080649 301962881 927070951 421014869 833815867 797305049 729003984 154468045 535039498 727590291 585013296 527715897 658763430 532211583 630733227 175870831 355959468 398785595 195801428 227202229 769613900 192196579 623011660 210798144 819511161 677257417 187868054 709537549 122377645 213399500 846764067 924910251 481967174 298792396 492006058 172826099 189027469 345089084 795789616 268635622 195459684 650622617 346894923 186649273 954107559 860435620 437036063 863130362 385075448 807011910 435899326 513306965 887111870 784113168 601598962 152907786 614078039 708984790 233834896 117926034 904440781 500231804 280579136 724200968 255080582 941988526 991762287 266511436 957737964 946436469 826214408 991237152 864153701 252744464 889712228 847531312 885356518 569639273 429405029 395939166 243172851 419975356 615571517 224707337 214200086 834096295 314626152 789473447 674936430 125691568 119005532 394574879 627909295 452389921 841055310 714526567 767145058 376602465 623992548 451057516 919538220 696079731 581077052 712860568 644352107 999882196 575057183 615118073 650772148 401394727 425556791 422672768 811776378 874014425 817777764 388669925 496573223 880088863 719619906 624313230 213597588 774908282 121427825 415292653 992498956 850006931 622043163 866434628 391817547 616040557 381035409 859219117 909922776 660325880 866813769 854389884 358091839 955173314 485287494 825471752 880286617 838040254 200647749 106884681 956675714 890648125 992390644 827178190 479386938 192950681 786623173 832133434 413012847 109613758 356456103 666292404 169417860 912452057 202675420 190189370 390623978 670101128 942635407 292054521 305620721 944177100 402800501 928652511 482822176 921996545 459579681 287724379 423106118 284317830 179607478 690623294 152404969 133746167 426968462 996186195 822897238 653379964 301215394 456215859 815992999 611945403 612539636 442225681 953332444 652988167 426643277 334529217 346441226 434481429 373266335 504384136 304042690 473020337 163294560 416813344 598776888 397291795 846856696 727518453 848232028 455963987 666953853 483989908 347684579 385225135 596446640 554916192 780467736 173976815 849277785 490433144 423718555 629182996 557693478 481975584 997575645 941413524 663871963 527839263 812777974 752563540 352458206 856375087 449699141 961272523 861458966 686629068 309002175 326180180 112370983 591540826 870048073 213675366 558531087 355620017 346086266 642929228 303265479 240790193 156471529 809913789 409920690 249494344 983333408 936617576 195068377 808953309 833538976 611047222 849086505 554400321 799207779 399439703 734890723 518781268 881073412 415780389 192030320 456875458 715345677 370032708 625134830 597996890 277934679 579518140 440302881 683082741 788950740 402085368 306204488 298393828 260614813 148802272 895259265 574544417 765974852 832447841 534918888 973503293 486852917 769419838 935799554 661058663 247714839 659622079 436152094 485369336 105887185 144799418 806857125 171310887 592319684 235477871 421487239 840318752 773822919 501261368 464035777 396820539 115096109 442769137 691432628 558714393 287970447 590341071 460816644 458420195 469814773 945594012 593987760 178451033 873993135 232046425 646045634 448223792 798400490 566499941 740881410 951792658 294093652 945469808 734682302 720563764 262785372 677771349 845229045 560524759 191770861 986916404 858912242 388330757 203025017 100091900 607201072 104858191 715564083 957139351 445272187 124983262 674128684 502299337 837205743 658738053 838142812 902472019 879423989 250172085 223987905 721136818 718795758 250902655 284164953 217478724 529140285 383898933 541547698 120940739 465823354 326561575 217664892 719469394 964951495 855684728 859726241 189273387 572123268 947458436 347483551 928245114 177788162 483369625 261265187 149867808 506169159 656947395 364449801 692426405 836144762 488814747 171844958 999530591 497154753 874262110 666369323 745852970 200982643 336356396 186979164 551716592 378618392 332029812 840993162 118961914 844972000 329462464 910177051 701818087 812522721 700108605 706404847 409634418 803009266 233688686 212179245 996101276 706206144 390118658 251943645 165537599 267059745 566444559 409380058 319880989 338005882 479538441 803807258 530921910 323812645 919987724 949719479 969246646 309529207 399138537 838869045 433162997 815357265 658228667 329161000 613112019 778500276 396556540 426473061 813483125 505865120 739923847 611823614 365611089 816203285 102487636 126415046 664797519 209573125 180345229 964862456 389385126 562600135 291437287 977705183 521509292 340321621 610284214 317642590 446452922 837292711 315561224 887470870 117125566 721165352 912812047 434600436 954161821 530129093 568515489 690848991 698809262 226055476 320084473 874052637 412889123 996251590 439612250 899612442 342657227 346589951 899614285 407320809 337755927 536424577 178173301 879358436 649103158 700597462 893271745 183207290 290160787 148925359 283986691 641481558 501349953 197539823 487228861 100069177 793301732 112434537 406251215 121935039 350772202 621634491 171434428 664866325 801504766 245145187 442953244 191361163 233958539 549360946 589111614 979675749 582291773 904409631 255058752 458556282 827398083 304038826 735769079 139577055 681975809 630257419 792624625 556320001 817083603 953305282 283934473 734129967 494314467 344621008 878278734 673178553 293396974 314517901 485081353 262615174 198148166 771972608 830656853 606235831 805334380 501928256 752156460 519626356 641192035 265169999 416783009 193814671 983333752 908947300 418668234 840183424 541067841 871313471 460549525 224941349 397058523 939367245 152076187 657169294 276804802 514179090 882610240 313062461 774632379 311804776 625085089 650975927 493712927 147757050 526161894 796766899 125762701 702184057 306427065 995160407 137785312 295320803 256548161 925254235 514374670 238010075 301057020 384054190 973633399 863081936 372528386 979588157 346911094 262199162 326902044 871495156 593725045 359777622 684304480 604941831 452010390 996651142 832155821 451238334 788853315 518234552 305709699 223812366 357952016 113381212 658433314 851430116 571205628 374494485 194418863 706281600 163740051 493750545 636023596 954797055 411996099 318819436 900304161 709562893 742788171 753345362 897483678 948586701 755693941 843338659 115938705 372006741 452890142 447214039 314030477 796352639 667295398 269389822 997104363 349234348 216829057 134169902 679388942 966742622 252817759 150744337 708901054 211276411 103672801 642256131 991341354 368321168 816773811 274650472 528183744 371465123 624100284 295727998 134956627 252273590 517861325 856990012 797305403 937206569 714750885 893875581 892985346 868598446 568673823 649474102 341118226 127292758 562027369 623043371 670821316 880507453 959794457 404343180 817996569 673654417 368030049 788716608 809886260 547498641 536181985 651959175 609899806 181827906 803570838 861751190 691165681 418297908 416947470 334199327 732054092 419234838 606277366 930022955 962086585 935227269 799826421 185039637 351946693 784125112 261479739 340833338 904765795 222062613 480880965 177509037 797961929 317991798 827764905 375523826 768682044 327246733 999238452 689010962 473718535 606021578 870404141 474487521 429659699 859640880 873277924 595984721 433147002 412365779 908363352 776960211 193544232 684651503 191330305 364552604 163864983 145948562 720338306 375505144 671899700 912255953 342054175 282771958 857052054 300089111 719686841 955432350 614880226 245490039 382853983 942126059 736662125 198562214 133662197 207421880 166599481 219297222 877423712 106140671 736599845 679307824 469322904 950596445 631017405 953124621 151435832 166394356 861037805 675146688 820129681 792817216 645420316 411299020 108095836 676137337 933322488 581635477 582784851 592036862 825631038 242384258 895697900 198273387 487107988 948200936 633641423 402200309 110615453 592324008 146869737 731820556 378467135 341554474 861456591 905777857 653400160 578782779 880340171 869638742 649788543 123285668 210068414 428165448 367162340 278839575 142754436 640217133 750897302 144759574 469512014 715456998 650199219 399748725 680966489 738637447 956371897 736883307 991762050 905603653 790196794 128215862 462677296 914309554 280664908 517182782 261076901 575057880 209766050 228297595 726498955 282080785 552731077 514119464 257480089 656270434 399032789 291591761 875815686 772940213 308908462 460835401 402688386 772038769 913272587 168585072 313068546 248934002 604061714 397559081 651038019 834591637 252461725 150576152 992026581 560529672 841951095 986766900 290702572 848707087 742820259 927710429 621380087 362980784 103924327 489572441 829398774 938032243 522746663 924365176 392734412 856311671 423015009 556984373 322840249 792482491 358657225 132570245 397639278 647299116 260567342 387136663 651202000 469462041 277726710 136706317 449693342 473201581 395031886 853308248 906117556 575078381 268833752 917702014 358660738 880186175 437943923 941968568 259290796 511873013 249376171 431218896 572611868 966833403 439156565 148127590 958998565 935685785 638214161 350645851 413969109 793025448 301146487 258664740 462518547 966190009 902714054 731418626 664405869 447731746 778137513 119317553 999783576 775917928 827461521 873635098 316637547 267378350 408298937 158534133 996078263 103084576 702785716 566070616 714680595 792356946 971941164 798705147 348973330 706095517 107882486 253838778 554553024 337713467 609371161 940422525 784592765 813909358 592858575 285914947 419365093 162040531 576304246 707685903 802171502 497506322 970916428 841796304 782690561 840107143 788946657 198571935 617781227 583350781 331935625 731653564 146013421 831989742 723082067 404428735 379130050 304961195 572424730 370474229 603197230 914702647 660929462 128304280 335992160 376345085 781062228 391004108 364344837 470794314 471993613 637564222 735672541 580226249 504170915 915247453 803611499 412327070 453074390 270061602 925486190 283548429 760191252 266753412 257347520 709494661 272113534 592782726 930177035 338724561 402406537 867886452 440065769 150587741 177356063 447433750 799175400 614791948 760481014 289614560 195747355 172348229 899094850 506452557 598830631 755823754 263616553 154243068 394243333 373273218 300702993 735926965 536031707 214587327 360020053 286723801 102629334 958070704 992073123 522153094 173226886 594333460 930094846 679211159 869388033 469398712 897014063 437614620 760513315 960945774 809760860 526312422 707862185 394392769 811119412 891691994 802400993 772407759 689839678 441025652 328419617 412959841 828506329 423309809 972945028 324303041 832945841 945110805 854620077 289938054 824769924 322240767 157846319 426674871 373371647 464124036 978762105 687915814 805618142 312190427 813331973 216996693 846665931 268677009 831834295 539662632 795568495 110045420 697773838 851000775 340406831 831364653 325195048 781580431 179823821 422327366 747061437 707128464 580316217 672167605 383107260 888905996 283646934 588229902 660722923 357949258 914255837 671211516 323846091 750771999 695948449 287309502 128201988 547865056 848631206 659573391 767518335 257588250 866941701 714982459 649087604 741560388 934722343 698460597 515724313 656470544 266530510 306237205 788171457 907106674 174393957 128414400 961663014 275274661 178650149 590556085 546273245 413152496 189067910 678605884 490415980 345172610 361942237 162118271 853603915 470403516 707216504 374205770 229058877 657430713 606340152 262396005 867511095 938442584 234616668 741844709 718601507 673212980 300398671 334124362 494995045 835250233 677594815 997409798 936992750 231353721 357872699 960112261 152539372 208182243 768853182 506001541 980160034 814664394 965019844 243719722 270770028 761179964 895156005 294799070 430247741 377655096 117245345 856734351 200356202 977510626 810537363 177403146 487433874 585289709 874257304 480305933 377343101 757904818 524747378 325315664 152316129 502041981 196369255 720525453 872654076 981112884 404279526 853666081 936305131 961888412 195602394 632848314 296251077 961980300 721161672 943691332 317661125 109480208 414346294 217543445 435091739 823680317 553957686 208293136 785355500 779640030 356922237 921570668 770413815 611730828 451670058 334625085 541529882 789324096 284297106 909040544 630322577 361274131 344742878 828828450 494209634 122813619 818104390 820112078 854610712 554541106 510967836 520408650 565732948 365525685 763394522 503467330 744364336 189362274 439261102 544437236 348901732 928525271 192208259 395200428 146309029 486684909 823174224 324191772 913430158 110587646 741343001 986288475 805102173 753230747 979434829 859499052 346048842 905444974 473915640 835612849 433696998 930850892 188500718 954062684 169979717 906393589 447622184 655905056 284952129 592537171 155931323 118007610 664424236 504360715 671350707 772314217 967112360 551416382 325586498 520564671 566455077 110595662 171913452 379678545 515571729 151227577 417289515 120885334 606578039 836615273 911744613 752975594 839484212 383429778 560753162 590924229 628455641 584600858 503290587 417252170 633025025 336039408 454512956 291275484 109556389 959121533 876208903 899965781 644077614 387024743 832358538 153956887 855431278 892262472 867495314 169106140 550092916 547606579 140017994 939872713 134380301 536371121 138172941 327700660 578508742 206176400 311397258 541339130 822257051 998602639 363599782 883797323 791683899 161802204 774217721 489948063 944277568 743381686 357546178 817126991 926761601 583462400 777561562 434017611 553988522 274369496 139437054 576088297 314301843 343322222 400384105 190418179 921690030 882517917 539135911 168619175 454551949 207532946 878248689 862995378 887638332 354577377 775308820 528270238 570412165 455277382 661720716 447072673 184198811 916365004 802194304 924326677 754425328 997629988 117289150 579304103 128716637 289767161 426691448 748745195 609919188 886626819 242188577 503889661 387722691 765700707 587460782 139491804 999546423 836944491 734535739 871883821 846117203 727860546 739890821 629852964 672035264 496227134 199492865 232067206 578108377 297558026 125705395 276748655 437855905 605210961 485675959 159304550 802306356 176041465 456514908 800060256 503996688 599886613 231118825 122197105 836678080 244609994 920909631 465665677 854334983 578996265 446959037 931701044 208787745 771925473 796027334 136263277 992751949 805406334 495226652 320236693 758272561 169350688 563576826 520121503 786330433 246423305 838447879 568101379 173826359 779197487 506090068 663491109 333617045 425578017 947291333 287175283 861207538 965384738 998188028 991481836 897298755 715927679 726315427 208624558 278884456 834550117 153452512 434476502 966831252 804217164 981452219 951273770 162272052 922890220 976246744 181161555 982027513 365787854 510143307 290454577 807476555 176800397 904312516 500584543 644971596 982196877 971810635 520879264 791454866 626157342 729692646 631599800 621186520 558622572 292968098 871983656 670467170 270251222 851010155 951967510 738725714 177692103 122339416 382851395 651105655 162623184 211702118 387538834 901609030 107902315 506887323 956437239 400160350 620817574 664320189 910844200 479830740 923074646 835596714 656431447 403206852 856921221 179640045 895354750 898972609 792024252 649879487 766034080 900093972 191330652 969918161 544808862 524069037 133045497 373877960 906483976 537960707 555657568 732506455 805992108 142582766 635077907 620973616 569535414 841521575 636798628 925237004 683536839 670807137 484500426 833008893 291950942 460322080 845294019 770825016 745869321 387850643 940628480 914054999 414935357 139632008 924124016 912405296 198186578 885619462 810229113 774755627 788776459 887765363 321556092 197435607 203005372 710758288 804561936 619332178 562863042 530363941 364339832 405237348 397844018 372017438 691832375 674602864 267520694 837630185 780330490 360482742 248471262 289986656 639134108 862034688 637541660 956777597 939090451 444445661 517252786 262159804 836276716 381302809 299629073 931210282 120480069 609838888 270479824 502795078 689250916 652352289 910961116 465709948 139586627 364945074 649532245 703192679 452564718 657316940 443177347 640475311 395761524 996477311 910777459 746896321 192077631 450445833 539182365 117844715 193165678 594875705 164771819 941686327 259920118 347202230 593021864 307317098 294512362 518203157 158968597 352571034 896377382 313257030 431755884 127542484 722556158 236160174 841765469 911738819 497363344 580797566 954921805 381872098 979681135 195541554 990401036 184274209 146063216 792516597 952442185 956624634 980332022 774167699 382618009 490658166 517102233 688979147 263935775 519722635 386446383 856826194 512211594 916108280 712660313 577948239 441374210 327951464 171852545 658470210 802059220 123781193 739383758 540470919 230692577 796667027 156944088 615012571 541692102 510954840 357883281 515858413 163444454 791823639 916987645 842901603 625968461 677263386 984620885 971946333 778361215 356362016 161704455 309150981 271653872 924077440 912899092 344976427 221222204 503520241 330525196 581610885 349885783 203946877 551361362 346146614 998327446 337245848 171688497 235655397 193930209 382492368 562541539 970001623 936707416 976617556 982900050 407653198 388631002 792881183 889456350 486585426 194918113 939195649 569766164 899215055 681609951 177614594 821801457 327713671 999166688 758685017 270992093 434651412 783781484 849048480 102044058 313986234 254241573 215236161 908138389 280316915 189524207 662792323 508001348 483352135 976728521 993204124 396061005 532105298 694220768 467183876 306983311 649939439 783219679 580645820 290524024 747197554 217743180 869426743 491555476 892045337 187520641 905416482 935853631 289196485 861295468 740079280 951135169 735084726 502034323 306930857 319623227 508017501 841724465 207095903 119700574 506404918 814435775 460848653 422618062 260477113 389767371 672976462 262888004 521152705 110290928 419051280 692580486 625667054 994984562 837723069 402439269 774432748 714246981 104677869 202220505 324741492 355928170 358782382 437677146 159274868 229231930 911990179 290091052 198855874 263860372 442262652 386552247 491209180 880838318 665360603 873861175 876307524 984087230 245128754 816730937 839294910 639527844 393333318 644402074 133680056 168470896 696282759 805091967 102228592 967932940 822729249 198943401 422420139 299096617 290044994 678026350 592801860 109562292 181373685 943723401 529494437 487517130 544273148 863343407 808969422 876001948 231461375 257995269 629714588 650353083 689344584 381617190 750967310 222874844 225269241 650008382 500700880 717403123 398801085 841703153 477236867 660714618 590815046 115830997 364108726 933143259 117887852 928346982 415078552 672287254 987310292 612683703 162747427 707697104 635987491 575386688 257051844 407021853 481730911 677099438 755567756 105553716 677410293 513994401 462022324 699057705 790328309 715280724 463454670 518165899 375569319 367327267 691721803 544257676 605282828 737180328 897933747 650646232 833717936 687967970 540305347 505203625 656612338 326950777 783109366 958734085 138658723 876727870 683519471 155895072 272920804 561523189 124708357 490554958 333078580 575208755 413218656 434985053 234071102 327044148 757027358 252523759 941635297 336947156 818203080 165271492 151592965 473880149 879162352 669837231 606328626 263456297 576864793 681812441 174771521 573481709 573944737 136946134 905746004 694332885 870554404 522077039 624255750 761364039 334957419 667035212 206459930 127061908 624253147 758107185 806930768 341785120 827773354 801697257 620663399 211340944 276617562 835369747 543596016 401946574 356666516 341814158 842857186 375427200 376121540 365046210 839054405 123374643 566590029 418435530 708553924 418869309 331451716 109004979 159228257 731262906 706250130 758011023 972626903 376744324 548459336 916745831 775130797 961324842 101530152 310367804 692630553 637910320 484202246 779650517 824657044 182659660 125081476 981390847 704151363 653639475 992642665 389870032 849401580 316544613 559805943 393386415 552193035 763964063 594391110 727872681 313320373 528116974 889019967 101334958 915344742 954162729 895882757 595453493 434232359 774995368 511274759 724568299 531681269 752240930 873431976 545239139 506960427 598721362 442990672 528466948 809119886 843456279 882975312 503440363 319260655 162098766 944442119 760979395 324366190 341914206 377398613 910143169 338568585 403185987 634097567 962303117 699309563 119266795 997695516 732327024 478166396 384536951 130835558 300256109 149894001 798565594 780262695 339076647 650923956 606589223 453363407 195277832 195088665 947759340 873976212 588039864 474272644 223084254 162424778 441180668 283133668 396955377 376325224 693093992 721423019 537034916 896134202 294186567 220129907 572327371 391288108 253672069 953015197 544317936 130089972 507077804 765781333 665351106 358937822 587615457 188956623 113344890 878854443 247867881 914740911 717962228 446141798 955869729 325121474 586218319 488782103 360416933 921900709 126715849 933672833 288892254 957044029 234771614 679816996 504297295 185527275 315143059 375344813 832503536 155237159 476570947 514435274 685789324 887214936 448023963 444341722 258307113 190977152 103415365 637935181 904493197 179473837 418433086 589871452 144066467 749121402 581515735 741407852 179565709 331570196 980982250 145877969 779102252 829554752 561338880 505685770 719901753 926159072 294269213 766695481 348722980 795064903 948842595 787396634 584594651 845799857 692344395 454739805 935598658 163734475 646463505 114680311 949668829 946999599 153086265 420617893 947100888 378613538 723347174 965464429 475046427 435782842 597902338 442652045 549257778 423567514 177462670 288922189 236533648 144622047 335858417 641817329 383296928 388494757 234496610 604846657 175855418 635608178 662514203 636279368 706365696 910467830 854754410 664007855 789932133 138335897 529078819 791335944 742816847 546875407 475011626 874445811 732684853 332866972 108509666 122559985 376336201 164102648 893173647 229227079 958295066 576674386 962900211 494789798 523002407 364975671 248377363 694497760 866440304 775094520 389234097 648353369 794821363 789616168 708422244 451995792 807425438 423505555 706287487 578539737 493808259 819156832 723920657 953231557 718289872 139564727 381511879 329229123 938992949 464967885 605279908 590335817 822108777 476293829 793308086 235458185 686802369 177151868 674362215 271062587 614085249 619840437 790516304 518892917 879348208 494958486 200116185 149155329 970714417 604401228 884589350 587063744 321129913 100606007 131798937 681773418 134010762 207845753 546044847 604403646 199177151 616726063 584216141 939496492 343877791 304440991 687704860 767115081 618148122 272120226 798647359 494904994 436163457 852387979 611201015 145654905 792904429 657339424 398627553 799364388 744933116 853988040 634410529 560457799 851417746 211873537 405661514 809333497 627596251 817480581 391793331 758671884 992961531 190883206 523582624 700718692 421404278 711362973 901012739 129232139 640824775 500823531 423404605 125084456 137313586 335317815 567031180 805394389 982118273 753525941 728737285 617447344 273132305 992511577 359946366 179612357 851064225 633093192 752221326 318604084 759642935 721471175 329451251 103286858 983541178 594905470 186283812 331758819 742144180 579990234 205479411 559693989 386554685 675312804 678733831 660253890 800733939 108770535 396988882 743085956 463879801 255228148 700439829 971305290 792282939 396953151 621922905 742508369 326420224 238021715 365167159 315770175 361280063 412313086 584983917 515411963 862478257 112461898 766410951 620008221 108257817 398623679 462371515 482796954 922126553 933195570 614188076 130485838 756521218 356344700 635610170 251725576 418938012 304960590 770139690 329041759 350679191 564794704 555550111 325612731 258796136 404270522 724560766 742678200 344478771 850748475 662743324 920717502 236826682 971261314 339687135 628932862 673080855 875238353 770990000 345970016 430878761 303062248 826273010 341202148 905538652 322821040 951802692 267310914 210132293 434462559 514066630 607820250 174241577 701342380 121900224 284207884 613149769 599773443 198764054 463489848 350774512 769634912 301846396 599336924 463327592 815392674 248235279 127611021 976168269 803136957 176418275 686816977 365817743 456491321 191059424 700678013 458284729 456376863 310269382 623030742 948825155 216975221 963106112 478727431 938653041 390524981 654954163 184317246 328097857 198876856 481542345 186844164 463155680 445337756 820262513 735889429 209167920 572435734 645963033 663162232 813514371 908625779 697204187 762427027 596975429 318842152 971102977 863245411 178542763 510386398 504190330 836180684 706199611 523545918 402580601 813674442 777924589 458157080 267613438 852635669 920020143 145123789 647771965 663025674 106360321 902325183 359125483 433223425 255530725 735140592 918210306 236405085 483111082 214766851 761403057 862259673 433505631 158866811 969811531 282310092 532664440 177947470 544465025 642149740 766495146 773825397 334244409 692216323 597142457 979168984 332872453 859230840 148633570 442153071 789817270 583241132 266829313 962151543 617204551 966269289 131288861 964116702 457779336 496417851 948511241 801397489 884281967 773033667 263730591 555688410 322817880 752828791 930564358 589752207 718006664 218942672 625861996 928803625 778720014 730600670 453968842 584307489 330164144 619801684 298964691 733160951 529046925 323661418 973697972 530576576 592461851 100089295 428145252 973818903 290341156 107233934 599557052 781325545 765581037 637732035 701198353 127194691 287226655 713927056 314539014 572674185 251471456 876221552 701882129 975256594 773547592 818855378 845399795 341376587 824531430 791199703 561295744 652641656 611500368 356010885 215994714 419007543 951402971 494883190 609090958 287564368 238122043 704795852 213188880 129703806 138124518 424797483 612385699 886502066 162878522 879731659 511052998 891830448 618300624 849559829 269553842 462772938 190791525 603295733 141593889 821981320 815350539 587206102 663536206 765936729 446945318 481471779 838381390 355678920 702831513 652654982 186415125 466534819 922424645 447826326 901031804 915657111 452361629 577421411 433662338 569246124 947471196 648600528 920006863 171562010 518373559 417025111 881703888 689303806 598236953 870530553 710236764 769671203 280999729 980665236 933693069 242685818 206822425 720317027 818439676 161351253 349347017 963405401 555299174 636498580 390461444 289054665 860111546 966159462 727632673 382389915 476485322 557471745 419418698 519583260 216124173 314987360 234650674 938799676 142578715 300582827 584307179 903980006 532893981 860825654 795762345 756491547 155127736 483179247 230828342 311411423 152273929 789584044 864230866 642459508 200919923 746659647 403226651 535427039 404894021 851917876 875868477 665016581 868046877 486720713 331754145 838504032 432360952 621152809 838062168 240391008 512332745 994703761 483305028 282630479 530201291 144081065 306315808 227321745 762775366 213142198 570880983 793258898 327213768 513603087 558014904 667696800 466923344 965357766 314558120 199551424 682422904 973381187 670332324 505383207 387867633 683163215 533770778 234580379 443539569 773564013 328603851 388728470 798095422 405616608 999504534 499568925 260741682 309801743 366487315 361762467 194472118 660863261 983430187 686826186 479875693 545339454 750362069 920808463 817959542 377699266 974134792 587825946 109741273 475994419 703345791 717725583 784383976 617182398 621110265 260270847 275647962 646068353 261182479 630384231 246016382 933694524 375031641 248294622 593907707 703894551 641184567 312009234 916267690 237229888 489346839 301404236 618466527 599788314 715301614 673751497 172101819 512655954 271758544 703036628 928564633 302181189 904354194 265848481 286727136 336199390 438375966 576740952 985266552 684452389 794022477 936647950 241671698 158699958 748081795 119221327 444079554 126749863 141977189 756089172 997813037 224501754 135112062 933355736 527763427 513599020 688787592 897808870 609501764 942974140 985618586 899158135 921745987 888745433 296826697 311212123 794245636 119083586 241287504 303050015 411883642 394848427 387069527 565431365 875742943 770700963 403324827 894475067 834525023 725722815 863601402 959982689 538775976 813330028 917127972 365364417 654564352 271549949 543780935 823677534 247447663 171285618 671895113 917279128 348643748 486656707 988780538 834482944 625791531 261305602 750823677 286070108 682458444 170698410 725959999 659424573 592472321 420643975 860767692 775418264 306441481 621992322 806721498 813630940 343125844 749268205 668896139 500062145 131319006 227793611 434561422 628496392 584697448 902752824 109991842 807452234 657657183 475927729 307272105 324707448 700003165 251756590 682049422 982246824 314611956 714111257 315319757 553743885 811150434 650543896 255629374 223944468 211095871 245304845 239248660 831040978 531554032 115534653 635627999 115086908 462305536 569938136 712996643 209829878 556755672 913426651 190937116 683647172 107222412 265995068 719466815 929579335 253569438 197912951 351340333 410840699 329631381 651558776 517903784 466300888 193222340 951744605 109350980 734992086 436719312 441805644 302424928 827003775 444851837 541916803 706090956 458726430 851944792 695724235 773957034 410302570 435593681 922165374 475813199 530430534 939288756 228449338 886534797 908935498 294348165 518901472 132374022 334163468 523508531 568052940 573507418 199691352 643572421 433890806 562175416 260363297 911538244 226258351 108573526 852877234 607106972 831725002 981360353 701146013 741752996 438701749 328568658 320675956 563315861 985259085 257791280 397875809 119619839 574530533 904125365 452826046 403805977 729155185 926124824 489486088 948223464 470513860 506662539 494334486 234614265 312281736 253496659 994434560 453078057 168542833 236391180 953899603 303468983 188549347 895397596 332687166 425836072 668213429 985306095 678870612 712621713 716818961 479850212 454740104 138434327 133978319 543065935 140491906 422234302 548577476 282729259 626635633 931907423 217263751 828871300 315989948 337045547 950055445 148204179 433276542 175500715 292748533 760796060 426305881 675542865 147043694 574939277 392210109 111902794 361191576 176703645 906792027 294959155 814423690 204598733 612467347 586761729 355035895 147950818 755680325 838845653 746662513 198268304 563165515 647406028 284149427 375395482 827924870 798194641 373882016 339917552 374637027 807886408 480394475 212542242 552132719 845274578 518710254 912780063 103098529 979775300 586971647 300535969 653920926 456664451 398913325 834272403 143862283 146191977 370480349 372081189 565403907 262994543 104565831 595124000 625028855 595212401 964943078 432304380 939649099 213109229 494016177 947860867 781367324 335697062 330364007 240741082 383122381 664224561 660667081 921426546 537557275 296282130 817116996 774070510 418215250 403316704 421007951 691070130 204715999 986187799 942194662 881059152 989512850 651880429 700733616 561024239 188606803 929014176 570038696 731799930 699661946 671082646 332810442 852671274 326771606 762074186 961675909 816567493 442532248 168475226 905131988 530817452 561479985 264429567 633494655 634537563 593630116 904463306 461189271 295265424 330070886 311194941 944297039 547770820 952711038 425583098 864010937 201104485 281469644 373506177 902415551 157132900 339880959 187207051 813368913 739393495 549447810 541138320 167283362 282961382 945514933 608876705 770829383 589272715 589606572 719366398 120624282 859256819 557270732 582296576 591329660 316072906 518616354 282015016 389061984 136675271 963844305 442437672 563577502 998662784 120475472 427052085 715624053 383671299 992825976 871031459 563999954 322020398 282812607 133527940 481167208 574734115 555184507 683068987 416911497 197268373 260138212 368592889 604022245 505266028 813781013 927647185 981607320 673820029 825822445 258986088 858896816 605721692 149265588 689632690 883012459 129614834 235416646 911694217 883990278 291226955 288375834 909644550 116209164 884209313 519980290 151244228 707697598 706952224 374657094 635182018 308245120 283948334 316582904 656526755 495632167 953508020 355808426 499075612 724528683 753583785 664636231 350896743 459427132 227069850 390282128 586880002 752770008 895330948 532354070 938962209 544677989 586096155 822105240 706862692 783539627 784794839 576615350 908229318 285273942 284529558 816358500 761868570 765026350 307150203 222005382 495849265 302699003 241048976 193643880 757893340 336738800 969378944 234293285 885331072 629718480 526237059 553067308 528587126 612698883 351463007 806749339 955298983 540351930 897462372 202440622 507023311 288281225 235734971 174839127 236117882 605593711 241109641 147146399 229757484 411067840 920300533 113331446 916524193 405773516 166106851 494730009 505237788 897837098 407641613 480303512 470303181 438799465 872173497 228386043 938679951 416178449 311688236 124274828 851961250 192261823 493677964 374805692 962090966 311217715 363432601 403327873 706099034 643543314 138143505 743246078 168766108 130347622 283232296 191160568 194012577 390094869 972697072 908295784 909306279 382034617 620133832 525540811 558843234 299014766 558671696 618867270 245725861 198496616 811038893 918021988 881828616 778583517 930994843 908689563 742253958 664456142 964549949 935345294 750526340 795871510 491328942 462537016 520198675 933148998 527555610 328703786 861538183 934386759 119883606 178121866 830087365 684526668 178218779 112852592 757927191 803159320 461867929 371418430 252827141 377477753 162772265 891819951 137905273 551694297 639201016 573366582 539461925 195053802 751128874 808245216 561517534 338244678 586787326 945985561 849740685 765314125 565142156 300378074 316592036 546546478 365698441 851628203 833774862 693483802 298716134 483821501 460865748 823182100 421302287 555535614 195744609 178799789 216972434 770148599 680920757 410655600 664492836 497800062 830350387 383836941 214093047 134093738 169126892 766575252 948590253 942259452 990973472 959635188 578686871 805116137 326541158 999736282 893376461 583776511 193438698 854407940 975014599 320172374 246518059 282199862 667950059 864319233 553501580 868819230 686120945 970435190 674116651 529379466 917604384 342531951 917008149 804836393 494357527 211368998 582207466 384722134 318881675 557630848 512625312 421146998 559285564 713889052 823964620 175760179 543700648 831785990 908122253 219237993 750876653 568654067 993129232 672129201 314144663 177336630 209162529 196987234 611009471 682060615 784858075 584919938 403859778 554903267 713164038 329865222 796353239 663124550 423944096 290387280 465316814 352251334 351571679 396271317 613996088 877568537 612611668 866752067 474609196 316396447 651983564 801843134 565922975 879791387 263172155 712979849 959576832 970877454 609284246 913127619 329326678 802978171 843381372 966611752 251099676 410675451 924811706 755479926 837758537 244759491 677398963 809734504 439474069 402498047 205321959 992235351 379831797 879831703 301098098 831272965 157862854 622442444 189463020 236368108 341126637 628837279 657895561 149907010 958709028 526182701 123968255 300890575 778423864 362911126 197209865 998225957 768449927 447640065 215916129 486978342 865024538 602761570 231082582 931334959 206802445 372434537 189457014 573380461 394891212 659395215 219378691 731676997 911487649 943017453 848861885 386229571 942804331 701819986 837843703 759799891 560523688 431214065 693868878 260627444 222016129 600682057 468698985 549763629 391723882 818785469 918885270 165710250 968603947 248351411 870996290 899698551 149978442 827686544 999847581 470066358 220416037 895870816 334590935 808061276 436775954 761818513 344543541 602488826 368182628 337074961 492053647 292525335 950702039 432597968 736365753 828472542 691729794 531601728 678806877 887152723 236709455 358103615 923483889 812464218 678273504 317428184 820067463 989929974 165902712 545684624 549933575 870772828 799200381 255206796 136882325 221013990 337210478 882239706 473297881 811514775 165197895 692641096 819139015 425565261 144875399 511505127 911222830 947151654 169612256 635590077 687263212 615063760 773287781 554713288 890059726 484148722 498565702 974382653 534398991 100811240 124488806 172179285 349243172 134834070 850107552 955440131 761489351 443040101 795699574 881798745 662531816 832646093 776553702 626951233 392180791 860315317 126973853 108430199 157683382 172343434 605995763 212221483 230612201 326956082 256588587 620945090 583025458 552856846 673822920 680206896 963661058 996606436 690473974 817111720 285240253 500841113 475326460 978012045 771433442 632708234 507873116 125306602 490317307 576745317 230849002 224764167 924264055 736011744 971848074 254503196 821446718 620979376 904008118 996386987 296130464 942134597 115103916 787421243 972816903 541690343 460858953 598308210 812837878 784220392 166284054 418916157 283614013 351704091 304866108 492055920 494348685 121393073 893443705 213911990 993248159 677756596 407968940 387571175 600517506 947363443 782514927 442389238 355331678 971746770 509895224 338852492 885482475 137521926 609384724 710676007 682194914 434369977 208008205 115224109 673903131 636352514 929014470 208193505 113011755 200546135 855763093 435444560 150544207 191728730 593824694 192035716 862050724 485877665 579437055 168767707 636616635 652243560 246905198 721922112 457421823 779362279 880432823 442877553 567260417 252562679 664246422 448077216 530466099 961037275 147469170 225955994 579878967 884202472 638370921 543341970 599585231 568208758 313805900 553073148 964219458 863525403 342780830 342158437 280085850 582816911 137751392 677678149 619686117 798660737 884348886 996239628 864041205 152566375 658976628 259145470 168979146 410957620 598471780 784053009 578958998 392838802 632889383 588433212 198904791 494503916 734114948 176186920 795668749 753221890 182604946 428682490 635717899 683113897 789281883 409607661 760423813 799402659 466206735 656191734 606061065 696396013 803525482 379012240 565767865 187325196 248256173 411490929 300146028 427846119 104311699 777095299 601234065 228830979 256245708 238217249 117289964 118415696 977753690 279824287 403664697 333746575 150667629 509146918 905070232 861590221 639436930 484902397 352947449 456829506 657339571 671519333 154402208 893198097 822206332 539048763 217508582 100733156 707758344 644158036 879135461 967595019 391460518 813150903 354172277 946749881 759717370 628693396 680179016 946047062 819717130 523212776 380300013 798386404 141571433 677008096 553718101 448613084 920435388 645639132 235683821 944632683 702953216 625403306 344691045 306086539 862013271 120295175 433555815 863765907 162575908 371588437 813619359 198276311 149180463 652176117 109403358 978747565 591348001 500031667 179609622 534491800 453490957 223355085 731518015 100081311 832990095 578692557 742068053 967993474 987601733 618256755 837831201 874853806 959436550 664726929 170357109 446017356 322040879 409325686 470874884 473964729 690698201 373728245 576288863 598303189 160806935 367255444 723191823 406253696 596438444 791837238 136265215 959598933 856804544 807169675 562854972 921798576 211926837 790011960 444964305 382152961 708117963 962185058 990380169 500626313 591292208 184112149 723147241 275175476 643768263 525494691 712615597 440517426 575252670 142684809 716306803 457404663 451877907 770576448 341975418 296652760 687104368 456302676 518554934 723427124 437976582 286557337 486298709 999404637 477439863 419943311 147357014 970352640 328542887 642877631 859932256 397882449 415498752 478370071 356159660 119574089 893222206 948094110 834300456 804991609 318959956 277684248 445821058 952239634 303912971 132767036 753600243 686079422 648040957 221634358 331677135 105289133 336868824 144233951 769938954 445891862 641242022 232037399 550681860 244304241 566222322 546506016 269573679 588245165 458235630 155236187 430729759 144998033 606107512 827085069 454385515 381847447 733605256 385608105 200740532 864470485 875001507 298455507 283143163 207554846 185123971 132745931 494536320 734703513 380094576 627824825 732759665 489375931 193573316 787258133 967048412 645050002 804449096 943752916 212867920 944696098 949267666 420295314 520928410 143990707 520746138 771096629 825262731 421810305 747459836 266611704 971340333 635797428 162428924 706710896 131803328 133924648 353682957 687143499 558975462 166876358 962567838 889954174 806355647 864371830 924757145 619647700 903488032 949611441 634172900 637080273 936745985 731943277 563499823 956067247 354311972 326169350 671256432 942610462 922602585 886509392 842047626 527857571 590202142 542217622 272865681 221773196 953696818 711754167 381489864 838389270 523124450 467996617 750860185 803296023 299079740 521873173 561225945 140106799 827049051 415541278 212307318 725625554 774149917 836526413 925876014 870500176 357408513 690463226 845727865 939823794 225465294 700959250 963873210 127669562 552404580 544098863 247386879 508127287 238939458 859321428 533885241 549085723 651081311 801608988 504984146 594805259 108535409 522207591 626612874 547638159 879689821 194605775 652009520 874601513 613681667 796293462 445146632 689153624 288780078 466958549 853787839 459260146 748282795 469285802 541783818 553588433 640970722 660366644 365410347 565440127 742769426 147009354 963509786 960213365 185811762 951515868 299225891 574763584 521401788 345842285 512280185 344017909 875947824 383849266 192532613 569301330 187301624 362703019 711833298 682457957 925219467 296170232 627415769 958981350 916762956 632689442 151025256 155734310 345955403 304205954 616213170 672335360 125990699 106189880 979260689 901852369 892890911 300363027 107075634 245398134 298761874 628125104 853481593 979541828 995701034 441277339 992958647 262466182 343108835 183005655 726137956 748558133 522631082 763476417 464072583 441401174 614143972 987826103 290270166 379019507 332532086 909298938 940099585 405783499 317046429 616927053 312745329 296646227 573752202 938645991 455432550 962124540 224774763 454642570 481339214 298242367 831859350 720997523 154855229 108885780 786919435 216803030 671093472 690174074 659687840 131094988 633750067 480819489 395880349 287409705 968182474 192304005 947637063 755389213 398714954 766225594 317959671 138992833 422494015 636397500 675779552 649054655 350999396 603383769 914889191 241981567 361399286 444198958 497874677 925333989 891948059 216596092 470494390 747322428 500238503 896718180 569618830 794649797 484116888 432601997 249094058 462522867 535877507 909816620 702051381 993316972 764262556 888522011 387363310 115870888 746041784 625865193 903178616 363151726 521667509 100863214 726532292 430432344 931237209 183071389 861437299 670236544 161640393 952863018 316495277 782052012 826592446 318024342 484215631 776365402 133572885 534348294 192511797 129355126 745945218 598079308 961498034 381097611 750381611 666627211 230516942 815012081 335961405 594240069 405735522 559335573 245289102 113263176 241710709 105460763 743319747 180868881 198904357 541602321 212653392 294177550 679969096 968321834 665762164 514268369 176887942 707245727 962499518 767399539 675074752 923579916 414380314 622663426 269057611 940355645 638871224 188975845 153243614 877204695 453409424 521089377 859142490 600867724 287509452 221216928 994000030 183000913 673516883 635997780 371635579 161887325 301796861 966365351 836451061 411315413 157867708 757615051 248932421 419443078 725242436 185924571 127028666 108195855 532310254 397653898 929331419 964862104 476442522 510452754 826056932 743311195 876617928 305192820 707913801 461376942 463911427 683204563 920922216 335233829 446111374 250620238 206787854 495275314 593139233 929461470 774094564 183891800 744398105 380658682 537287297 689278200 143739614 857847859 312790333 378910036 389941904 943673450 671468206 535881052 260454687 950172420 340752816 712124480 115020312 370007042 104723511 226455215 597252275 854533528 429295349 849890838 725311125 107270050 367415696 605326996 800013920 692628943 825588447 883755758 859491925 999304040 781019771 278932803 683826064 904073090 613857936 382394124 815830758 251341838 747322338 572969512 532114290 317705698 631897265 329874826 593682582 349877916 232741707 185789595 789224678 995957246 904971708 804879469 222406094 163894983 155397510 457493879 673298153 248634367 918401274 559104183 756393934 620119498 896606187 215047977 313184119 320383351 349857265 259651123 185280573 881463115 202267753 467553454 652118470 270148709 559030545 622573200 518205089 249384925 129048349 549928371 459940385 531814255 335548159 877564485 978318326 671183170 454748486 184078375 946550683 523269224 495430626 863141270 233659848 732672363 460620622 794738877 686610498 876330994 707195342 801124463 856957570 278185195 670601620 230596372 495056824 815563707 569619177 809102350 590175809 133859928 104314512 908663852 130106088 919488226 454230128 871344895 254934490 867533376 934995764 484846290 219607307 473393938 649423018 139391198 947994750 830777554 153993083 540232139 598108152 842619408 413986516 353211776 292081717 201284740 405647729 878880044 683168908 107931952 649861322 361478182 817815355 948397814 153773130 305159184 268671115 291623244 919902639 262164797 891289810 209999630 287080931 870653532 829707845 574342677 131556924 728164400 858310495 735854906 617256363 918399308 920410062 595751836 501280034 915636513 303860865 333567783 597668668 386979579 337353095 689376361 355064825 262132165 513954443 595178495 496304834 623424321 538571782 608207518 407491219 275068084 573145759 724693343 405778627 136517371 966113640 853645261 437813800 706126978 578521020 884051972 805595880 193492891 647831392 551271577 147340994 201841608 425152386 477476747 436543152 232456791 152011481 389420849 490299458 297921767 827258630 880395625 772588761 443415069 622247400 972799390 148120675 808999055 388070914 811317202 188091893 354943504 251649351 879158201 443550374 843919788 688227523 979869627 186359060 750886774 429934850 412978948 406303972 594475413 437694410 643086486 126923682 850490269 822375098 741600540 371043275 182111838 409560638 605573651 716762330 549088789 853489067 795402685 748946010 236619301 174062095 588606647 536904673 727564422 434911433 910262413 562705276 206192416 451011039 920093221 522023242 875047873 475601075 408072846 219602704 637605634 232456571 745913852 475351187 673309798 737999742 521502888 182878289 737117072 788172487 433424809 279009365 251306334 181261111 766529711 325900808 866338139 963734078 593005334 886541557 782772942 671361029 315464277 539355147 317009492 170484064 342734883 911896362 491506022 827027726 355772309 697982657 228636775 975247895 172028382 167806029 853804464 460867184 564480949 690185732 415757158 750316792 785778278 594465348 943559819 554730984 712289371 615840424 950615518 702395073 190357541 143650096 816945775 746177599 704188754 823221948 245512770 135326064 674648311 168472761 774994460 179723714 847026225 957789478 909321529 734171635 433599355 567713799 544115677 890164639 774700804 516421451 723534676 639776716 154426771 424833313 458246782 282784227 327739599 485229880 238331299 276312597 391682614 100694282 917589991 312712461 896708376 621693631 237201545 624182281 105285221 595942228 537639296 540961285 346507121 365851244 783290648 132036399 964651612 385709092 398665541 507435198 341275447 738439274 935206941 445633748 983508682 458311077 702195058 906611264 374238003 636428632 824973856 311384350 292785433 992760706 326698269 672703063 783854427 549719016 102349255 532846606 830380499 465442732 366470532 705202099 657150690 340366409 257042024 638133137 342486720 627242150 383395031 219325117 490705227 419471187 548085875 116016627 491622646 455790950 727308843 558119298 568979812 578871309 635554998 604158590 275658964 751385764 222009686 732579165 860891244 432604443 817813879 915215068 865665535 693918872 448464510 936986616 867892845 599338854 772640750 336570107 911356864 394539753 711366293 313149060 659995543 222478460 146281918 669624977 807712752 684159193 137798663 688704628 496343581 656209544 443077800 914646592 830242083 559360979 709458143 166201306 526386007 769903705 601082643 231425266 395236694 980592837 907705528 420747756 751958307 407585935 376149923 381995183 990689232 986916625 439180886 353894115 384775144 704350055 924533875 523850131 400870836 271834915 749138011 676511736 993122669 921799197 938254760 814818826 537270680 415074505 461416967 504916046 701711144 981230885 703596389 601153473 208054511 495162036 579552816 945701127 694017941 955818686 526746563 535733720 804995173 838414176 118882770 744091519 814254888 986237567 433524550 321845781 700774165 520314679 342311198 742762497 299406373 959606910 792166930 340330019 148948097 231507763 488944453 261512661 422980050 697215194 258428190 740962412 534766834 281319298 978546793 286581165 673029811 485518178 635305566 445194502 751384029 823870854 760250656 921546904 172226265 182256355 546250463 281129037 684471549 421351083 563757898 271835202 167495052 877549978 164342393 996752821 495757211 274964512 902160145 162917740 737664144 880975994 551099192 176887793 658972425 992999392 994985068 384701222 301363286 243578409 383132137 345083424 856537191 466015237 229619381 818485785 616588309 963962062 903786366 220678510 681274002 226234848 626916226 959790873 889097622 995828970 241776380 429155495 833104469 733045504 520097020 229206902 693774073 876815109 165355868 892200923 116437453 961467700 915533466 354302138 865000757 506079604 198251892 791487625 550556688 662016616 900105998 461562006 338329598 677883247 819638443 761486477 173912748 559143254 680069668 743691976 356574608 469360781 773375840 945335084 409350203 155755239 120186631 137698200 481144402 432794914 738860309 893176324 936627416 167621436 237277840 782540600 554175704 399558867 214000690 382870603 277719648 911911478 307891284 330653824 769902348 291346974 712688894 344317775 485200407 963536869 253533947 264123797 407234621 736952651 276782453 467641943 231004106 778110187 782237186 694930286 864706641 935158251 270562536 183919244 996934019 258679173 177067122 838969070 685721773 673253841 775538413 288674755 246266415 263805029 731439529 535610163 468280567 182093392 837538398 818295196 615620520 924747678 529881628 427463925 875991899 918122784 899604771 644523464 893248401 255010272 717438451 593866367 434736281 627775163 185353141 169363105 899508114 467400442 775527151 625923291 997656163 286247464 722122453 385486673 776861142 951537370 290796229 549811107 422607915 775238453 873259390 247390403 355978002 693966789 340353009 763720318 165275206 156138588 889388246 931064976 948541998 297842154 812589741 467598269 709103852 163240330 710413626 731676388 926589661 498130130 408305078 963564902 122681506 425831736 674593720 354994534 557762010 364322323 238497305 889291833 211266589 546784066 802585707 183462307 307136027 956575833 102506790 496588008 258526780 235694364 615311934 660998020 167035145 954295696 498739752 710118877 109888055 890920994 624322020 138265356 716237586 170078553 857509264 381733169 585146946 122193700 541710603 452727339 112963780 735189595 451833244 298631037 493978164 276504667 168845598 536792788 343065624 430522229 959647147 983811364 222685167 517086690 374213212 297349777 276080408 419776257 836125113 556015464 117954757 480889992 820682782 846475849 966883766 974649498 186200196 215501917 873724287 937309184 983197673 947099698 284631890 511449326 126512829 834658695 449567366 674342726 950567557 943266634 267390918 420278695 246813923 406268565 690285351 717460584 461131670 199490696 535396036 773783528 893601868 872525782 526684775 894597375 743237353 663547095 394411956 579184861 544655082 504342158 679079636 538918230 644374529 915215968 225205986 181816526 170828645 357449244 770341108 758431419 727276184 315502669 915220492 916044238 833241565 467623294 316951990 921678081 631519344 271406229 850210840 285564876 351059834 726134110 317886260 737043464 614991332 893952864 978220624 370020286 274705611 122181747 797571535 800309975 767674866 537823218 939500298 566657067 323758113 443876201 927770326 467594574 790529540 621301663 276741861 506616267 589175031 284135452 592592734 400417377 529145258 874864572 420815128 153947497 736214741 437298046 207735262 324373978 461358257 770262099 351629482 788704256 911795575 499076534 936725491 350237600 824897634 357885558 273775311 854451297 761948932 280883540 715716194 499035619 353529495 392514940 157167150 628569277 864006585 246805692 645433020 336965253 983983514 223431665 316646474 571106075 486688851 111466192 391765621 283348333 169832425 236157915 310335678 984769738 543099029 121799997 147271630 153298613 709797819 397946130 637258417 470329808 266567808 203100780 413734287 925842794 383115631 743449184 840661293 439214685 678981484 813841167 926798658 436353869 989718682 517770622 297823093 554707195 617071407 832586722 400426062 724316866 830231659 701735545 559804135 479117668 954245548 714803838 118104926 647129357 640867600 690882867 962122394 255553237 677680627 343851849 187760929 572761070 903517162 154122606 378205765 825068954 684477697 225127993 878719116 522683170 270235079 331071211 767574255 500785870 127119368 816910913 829698191 434930194 894397553 923766817 350089849 130684178 689339748 278414252 836617741 121161266 449997478 860040671 832416453 825533727 140898273 796453809 166137792 504504692 979122819 832062782 525537527 991114117 446853164 715653563 609847242 422744737 174974808 654863591 913976552 590277510 234691955 712360158 370386979 320919347 445055102 690468124 600719712 480895793 965866274 908951135 911622735 775570237 187635115 856122950 419984242 951315573 570242838 451607496 698834029 486879857 320610446 130486996 703471523 246003712 328234034 725672531 258756069 735802962 838016641 663491239 586345296 347376053 346344740 904280605 388339617 470711927 962923346 251787215 769263864 824543638 730125504 599317704 190247770 257393527 247501157 430811189 570378705 666820702 452630412 705991481 860213799 423146152 559131377 670941477 636665344 932787539 919482023 816883644 218705735 467895391 497117698 221142910 463713726 670503246 525942050 545033841 388139233 396661137 764929843 237875598 128922293 965129788 872864766 123441849 503267851 899276233 987195591 923257340 257009561 631301564 130042394 502030383 350144087 800767341 502462335 609530642 891433216 574582150 993616553 438027584 317617798 728877785 179158438 458391839 742913834 338239337 278070985 257795320 971713008 387218841 882212470 763009226 881664331 144654072 707599402 175647532 115848566 852933161 658772006 716227577 652686273 174193244 335828565 849209277 760707552 828598526 640588626 704922764 247084596 836317592 366700172 125516775 547847431 616702141 428424029 441997880 194612478 722162386 940614815 797543854 252003583 322552159 579306116 715766009 100935690 491926874 823473788 883014189 987527276 996496495 647573430 658272545 694279831 401380835 307102073 771252402 737353441 285915131 941014642 945797450 726327771 133178084 330304129 415153338 848912261 467865337 300258024 523905486 292856430 317969924 482538884 262647258 611926582 800826747 117395761 328498639 800983486 534225939 456172010 415654948 811688574 156288238 532598568 757477763 255368794 589652404 976097531 903000256 678982667 970868035 849663739 767698491 172090047 742371069 738006235 336246278 696553994 910764663 624600120 826969704 629644264 381902416 306978314 372474504 605698402 692882501 348367064 804265593 159083028 828510202 376456739 356059848 323317026 224305353 111818912 580748514 326448089 545294304 865090192 977123739 740186123 806873201 494352809 617711159 529074166 444895494 880872618 619399805 649789406 979670313 420120075 362932167 778974131 263865777 861744365 100691590 115416049 839523147 973376122 701850967 753364553 735469960 872347881 653942200 465914374 717975679 336555710 460757018 945689362 565593373 290573984 941957811 505717322 373214170 555845299 634838908 698069979 826042890 952622194 158433418 480305697 621207157 940002313 287125120 845164707 490728599 466472600 875005376 399303335 770137260 884572128 602607751 259527065 298412747 739562805 921571067 734930122 193336595 675955672 472341971 899352677 415661715 520574042 761734371 531512479 704497619 909686094 444572145 353188709 528056794 366195820 535646035 772216250 162583957 632199946 614546052 343104165 786247901 554151231 391054850 936700763 532462295 948104442 185761654 816206293 527827826 374962976 687038242 692350804 731955344 425755510 715018409 358682636 362020847 538114171 354197341 271867922 816572549 768959645 326821835 860496778 404890553 732915823 935687178 711122258 802904955 792530280 288457284 514473510 567186289 793962812 279957866 311513252 372523328 741161935 191424218 844474400 664725043 839452958 389618163 126054421 278921823 406129874 647591049 214445980 398650494 227245737 993213242 974716912 557138654 833912079 320204291 905764372 358942901 491775590 128935415 702142583 443515100 227683351 685292126 104487363 510532942 848359592 729989638 389773964 224484817 957865413 684628672 991597194 944242756 305306934 210149531 861645196 813468234 789062195 519035016 622790052 521660133 826000827 866866502 329386765 232491234 414129594 750439335 584382921 686952901 772774742 734216745 932187826 198239918 883880123 372740147 242816281 860412414 652467571 306080572 480682996 163801785 563782773 547813064 656669626 239681582 548537734 925307837 577616689 847803268 119776773 120961828 927714134 207288895 498525561 318053512 851361376 183642512 151794474 917159285 613189815 535286966 431590837 739789671 275170246 276435507 754072336 458844648 413016643 166311929 996397456 688871088 438509027 245918767 917268954 189424263 874285260 803980645 153584000 657768410 913356416 797005517 724804521 331320059 845709681 547795339 300000033 503026836 154098815 879416969 566748835 324684797 139036810 668719152 644313346 245107026 116770685 795982924 832589972 382661872 850829279 870962421 313888403 640805875 367442493 898202761 140281772 319723571 958445875 400931380 764968654 687462756 858319683 468895316 212835312 677276139 870755846 555446617 379793603 533092318 610908494 197954775 910772606 745150210 170396185 816855320 869279758 117855742 159199590 976752995 188215209 940473117 195856213 824128504 270477414 660636242 842901829 626821905 883913189 915576244 647072338 955992971 934248582 474200389 335596897 194392711 438592418 681292698 140031440 173970941 285920270 765727236 551206082 889161985 958013728 902782447 880070716 293213084 626262533 876429231 931215208 323055051 721108079 394296592 795995068 786036544 314913262 721596315 772195337 132738911 254637001 659126786 424159346 224735963 624377868 320454805 217453511 310078410 642843464 888708352 431500062 129841983 606598905 394747766 942172095 518706806 594844491 164944420 201920265 230854325 475404182 884196963 480541006 557712819 591788601 475591017 994793654 117857816 719653825 108905895 994870865 190671680 215894789 551336169 191073863 561410854 324083554 619220918 672465803 677660595 562018128 677761359 103255956 858480061 829719015 996437529 541514312 867976952 655713032 105834215 537079945 457650654 188993836 915254707 376850304 295650279 448969253 134101202 764977562 498754796 759444412 433886186 652716859 292627955 315069851 364652185 131349218 253365306 139885256 650550097 892328803 247508112 644158628 234087800 983798245 354333976 518050548 467010282 826897913 799032472 907562703 420835296 892572391 494309282 116883584 205301094 622834631 143464838 801076970 486506626 758574946 896959722 744781531 850129258 275740156 891564923 704477743 674776137 753267185 581825504 625918446 624679668 649783724 265396846 372532473 592520879 609375934 734312024 976219546 312552945 495204829 478246746 770136544 451810755 409934951 261835593 381472361 720142367 506412375 732302631 604649664 509081494 687739341 644558362 412934319 192051077 904871798 935207852 765685190 521819222 779887683 133804855 627106891 633622971 630907488 727080550 226151099 756955538 756147831 612677968 155288469 431056441 551952123 149323884 973708588 858814166 488384439 670596656 849357557 371267924 222965628 143420949 381978334 483588800 657398635 419836555 213736249 315498294 652055048 655929286 459494323 269610448 587701220 862159114 511740447 685436002 141089050 510649659 231999485 426223911 485314778 241596690 800327252 684506072 336640099 434153859 873951358 387646352 482422338 518920941 270887047 674639057 183080182 310041575 392027774 562875487 923668863 905763292 886611500 159885416 662010321 856796128 284764316 180049788 690899648 963369184 687904563 451500999 542701039 887287645 181839793 650014627 372901886 201954033 911278638 410382386 813273751 696867552 481327651 579172889 484288994 560828439 240165994 990324970 650606729 192137230 906991283 728733277 743879492 413047818 754952174 474906026 443230016 513891937 434254062 168907909 849383460 580235597 884483801 843055599 123568923 630744472 566588347 780360691 395224498 922945880 347413558 724396696 286371685 718702620 286849177 701203016 845252469 984050650 924570892 991007532 809690297 744159011 604167935 672242561 577249740 996360194 761635824 937303522 650799492 558533858 250312448 925124304 918152984 191628094 941602076 903421406 164390012 150601472 270987587 518596440 805167354 662006852 549514193 416068089 567149754 860955479 755036828 818648532 946373294 575105674 645236603 715512862 181974386 797233229 720008777 108993878 839974004 986727584 947101984 649287441 357626138 540336827 298950517 378673292 788643285 971465115 619965694 527970793 512307393 243209034 821978108 269223113 466120915 187269074 436542115 582857765 862365581 816163519 499280162 862255691 245028924 783323149 713603962 686163279 912935512 681145582 267983362 864813914 689220656 906552256 300039869 306457014 228674834 599813975 411159851 425997925 108645342 764468315 606805981 333846948 309547159 803241246 165517969 772870743 959659340 448151691 190591544 572664434 227682258 735002405 122469741 237124409 689869809 313460562 542130501 825178558 617803689 417329640 923271090 135654611 735578120 956264602 180786736 547370298 116356991 551222268 277564451 215351797 853909258 447043423 238364228 901264077 634418414 419201728 294851330 530693703 902000989 531830356 664071805 773767348 882502151 893392146 760957812 153833511 335146740 162186959 812558829 228113909 795815042 648261409 891304230 890695491 566965938 918926317 128999386 736637914 290098372 822588972 330826525 592435844 573256409 477521812 438408251 388970711 532328178 187732798 384212085 619956287 178473973 339685182 535567385 526676554 485839099 280235787 632977850 495495714 809546820 447929072 132470112 678781340 657104520 854885133 603826730 989593409 793277952 566986823 969199880 707835459 277848235 448595279 925926471 289148846 295384191 636461621 445777479 649183813 361365212 846251626 109781596 701329280 931637138 336359847 483271341 420311185 345293798 330022757 578675613 988418306 758438868 678377003 209688243 958742318 967226812 671635954 905988686 118158812 340823344 764985093 739780441 866800137 553484127 800941625 643902053 834721497 746536433 838905859 545910583 199237607 952031282 667954276 879562177 309661390 729494662 445614136 966080957 797237626 115434519 461720367 234141117 420310942 277829828 582985379 399494129 283463032 840300008 349608995 573639043 131594767 161668807 955349509 935778978 603521188 823587975 802986163 127183413 416648342 891434030 810738205 668122253 654370325 990431615 245981521 117803815 598882466 797808366 951334155 443151247 571181187 679231252 642399136 328800337 851280058 777943575 476272050 725249451 352240280 220756323 520806036 196312579 362631983 430080433 199881458 317304262 547343003 545872854 396065274 364681314 974722866 195414014 757126640 726470006 156356848 633814863 785291533 972845467 735906281 542569035 964668522 435962854 188072960 172425706 778075401 908671203 701391513 418280379 960849226 558883699 821863879 514469233 885741908 449854973 455051827 849488190 821740715 287989304 698304777 820642387 768503940 938013286 362695665 325924247 293934266 144195360 582234979 666599164 597716829 647661871 657500521 249734790 260716433 468455278 330741565 403747220 345139530 468258022 207785116 406496736 446907695 879878239 384083780 854203520 391586736 130939426 646685237 778397844 998081844 334061674 157484860 700676624 612319723 338788972 919523683 608804054 547561743 622032383 900479314 333011074 478289953 291027338 404900136 561959146 694887875 384903458 641277716 188899284 309116602 155954845 537472865 147459893 809127861 958131027 765261754 771452965 487297890 418146416 878875259 376137200 533859855 390730610 232351135 639253791 673843876 740726061 222442852 477450973 928997471 170436084 744049652 752401073 982547273 569526792 490016512 275674351 875269539 947788484 667889002 761535763 416182346 916831022 744004580 216892075 547251350 314842037 909597439 975087163 794351838 911064136 772863857 818253713 823821467 221591067 762521555 302790690 772065010 996455393 898551067 453161874 348730713 775612773 885592645 739439396 828744431 774643399 302886425 720474473 468093896 329684906 519838393 677777393 782830628 197208839 781091873 166233699 860467860 445290253 636240170 208440491 947504196 922390225 740457012 824507578 670878897 214480845 791365459 723869725 423737258 878238074 120520175 870239230 862561754 996769401 699599061 600126427 704630164 690086313 566613238 695357341 889886549 998787845 101578573 781444741 912203547 891755563 713530506 446686744 816849631 213468144 958093388 600417694 351626020 268983314 310012387 210224537 598500276 520174079 295594259 640245400 174821225 962704328 194118477 798594751 460148920 791909681 276764036 937993472 965077939 828348317 627439537 972168111 366438359 296428401 685820434 853142845 900857891 393804338 624589098 648580695 672306435 319049978 580390693 400550657 673239838 998467482 710738320 491879944 610170838 405599006 423213192 258762487 162068293 462330909 459404318 430073891 499927591 370892121 807100902 945806675 176366919 779005804 287179811 124430814 880761498 183442162 967870296 934029940 387569676 864855261 321549371 669230393 228851563 661381153 504851025 635486104 414732252 161256032 571140262 920598923 877346015 147963316 923461400 326460141 754177585 979157978 178176519 108093038 900411746 445187123 680306370 574637471 215016172 922490557 882401948 749819689 975077757 766908638 286370468 217918290 658997543 445837165 146925007 548372337 764725300 487041898 745631034 596747142 896650283 182522387 182839538 137341291 628382653 517818773 750637786 695692622 732685382 933888831 140272752 826684464 535954363 630258533 717721553 327467871 250847390 272531289 989795003 245110835 170856529 689159115 862089455 504136100 236470763 605652135 591789121 555427132 603175220 908192842 261398314 218177512 599716867 212191673 879992018 342079571 262104542 727066455 480145533 330911262 230467066 198749706 830063400 966368782 671863445 704560432 504894255 692583047 713622001 577859170 416940643 809248945 188655781 160374531 120663360 565191036 662624877 250059609 470938432 730417393 546786647 189197815 790311551 645850502 202935890 157653516 113144855 852814064 756038736 587584070 626213528 338107337 884708477 711042503 579623701 431604831 166298202 465798577 250282918 515144428 529983790 153480871 153002733 743911387 130176542 274658230 104221703 287189034 933179301 972975411 180412045 208737348 752498216 897543356 297918112 801617621 857427956 240787191 881836259 101216449 359124020 175531879 160695391 845604764 315320114 381190433 583321139 212928750 869806710 712435722 242955033 267712612 741248816 373044908 784357542 906552633 165906774 763967228 746833592 798438716 810315896 890591452 833873860 144694425 756315804 814521992 499413752 292076620 986507312 427221094 822724632 177173482 862340586 450444577 214867052 754082698 139925025 187739303 668840226 878760079 817506072 176269405 782297387 634263556 172545141 396284543 384818761 577640736 919930383 927803192 911369142 109421295 123057771 910427913 298421117 915699124 552435591 657058558 798577851 263257323 114572642 915455506 379041322 429912189 917308272 798957485 765275011 283619172 291431613 102779483 909392203 244474896 903007650 210970831 933336788 513285425 638159645 572175768 425786119 936210273 587739905 771973533 469529465 713100108 734904579 566655513 592661366 415959749 469210293 492699955 141055094 868125407 926096600 585149834 198435778 413746123 839589669 561308827 495676508 366353045 765972286 110630830 657133187 808780075 689624990 532350394 195232087 672701599 200262932 713675446 791329169 105343971 802494078 407260394 767801282 632677744 477162086 157748870 941449288 140192056 768851941 908637203 390520532 675901792 898024780 475830558 129493200 895336340 467899433 532426571 834362570 740446035 543929583 264663472 114762799 648775681 243965323 832508994 781409048 888645372 972676759 788535680 532105749 274644052 590060333 395215308 386629830 308287343 699899953 331409630 247974393 502028632 126053150 687636091 174174026 110473249 878868652 993991583 312645632 429705953 374817778 157785554 509164105 793897483 456104308 191987669 916138044 823378461 875853850 634475454 889953723 178251272 621063170 906762392 645566214 471703123 680916151 103013707 830711301 951783298 913445366 649384220 839258159 129417968 683121751 151446790 248867322 681843468 300247470 879458573 730569506 510140478 972119895 585270311 164195225 214691908 431529208 481718033 300249626 527673685 949416715 790810816 776436422 667146122 897337068 631632596 260140205 148520828 514891895 135254521 768384320 102033729 208695664 973490044 484361815 324121245 876650952 299127867 363597990 152461720 445466895 443511289 964594008 308524526 310598302 888573418 339718115 391220749 926784130 829952492 636403976 635874063 480742776 830081704 730440871 469912412 328587373 133403910 390958948 222329610 435219525 804361703 582064966 473431297 643601585 322745499 250675148 866351098 599687526 600855036 329566134 498842757 419973506 245662739 393147515 792668210 802868074 898101768 453962161 780659398 852853142 797014535 714023923 301038028 781163682 218334292 838771646 800218715 161582443 951484641 447348832 993033327 762253457 508127096 302578120 699640367 926626910 345401120 326053925 853411327 996204879 994359481 347367308 451207399 239338026 622541817 703597821 462436860 778621048 336818016 828732092 703530502 352910043 397421776 524914023 932531383 871216321 198157283 959605652 225293794 923396346 456728813 369149103 403060782 938672085 695007201 717706797 557670501 650526933 318332110 816196085 777171272 117412796 557879551 420863715 730665118 580305233 237884894 510103172 448049660 232245193 615845827 416593546 444278107 932683672 995488517 714279471 794543021 747507057 525718564 216721537 538450374 985318867 216261283 960948383 967147961 820674450 252978634 550337966 468185983 311485967 153572205 769057363 532858671 325192866 868516109 443666554 244286490 894766452 693565822 754561347 398537299 197007094 758666521 590803364 968339478 800259924 451102991 417148659 523082012 991292066 209478781 931011815 306248345 814519445 793379412 979976632 662836697 482471203 408162503 624372535 526612871 887840794 568236203 671501247 817490596 196080284 259736693 449061905 366853921 515066195 891653786 846969216 755980130 890016300 101407623 606997874 290522132 605309937 370761785 154858017 893570837 502767634 944096650 753870882 733608140 889908281 541471358 123423272 576934423 397765258 709750222 742898605 924305584 542163805 148414462 449654122 932009583 687092632 804168185 860061559 191742779 628439224 368328656 940382551 647895468 113949027 472848201 665205131 171119109 261892617 807603814 419146641 190070915 263530396 146864333 242898453 351684503 655379658 160103282 768657090 157652537 428795225 563552069 653697184 907195188 433314066 735772950 691167663 474753916 174214415 883067744 598995174 876617446 416819911 386861335 208882228 106043887 744552377 838898726 771183801 124619723 260141592 561668759 399940442 282591866 525501193 291163866 182844476 830275099 236022456 459090782 722937708 735453708 615503795 658387236 810693299 583060413 739477019 157743310 735059673 630773829 516646444 501689407 660069625 187001541 493672655 549120078 340386684 964575471 581691549 181403846 310402172 714300315 441395679 405920318 267966881 326585339 493588202 893301678 863690255 650147256 298773867 354121531 183040095 542993140 485160906 123692861 912019977 490590756 381805478 782679470 909523488 290492762 280219683 288601883 972841053 639596291 514708065 775354072 434721515 390902366 222482163 532207440 838470230 355874859 385448529 553930698 826976431 659559386 787823235 830140648 784117549 484524095 471661764 661848697 760528732 319764694 902373524 579875065 520381960 200799064 935869403 175283311 862479384 925826798 287272736 754492796 749161778 216380738 910506384 549027358 179432449 326861225 193309709 827518074 775276934 971751988 372160359 349849188 477329536 236726473 393074099 343687794 160611675 198853009 701426552 857906932 384021462 603325790 722900111 367301117 225080668 329200315 822722946 587439133 214033212 933283225 885808967 688731955 987362918 808755828 384413741 462099685 345477270 380050326 320306838 111328908 776815984 418746074 257439618 260523959 263534768 391463674 527039333 694404173 879777802 363313764 215402903 959185858 762070311 727331430 157655479 793519126 225247603 634092854 713742134 423632681 280892031 340725119 648221169 715099124 354879148 792862853 494766434 410259579 180137755 242860322 972164470 787504972 290541326 496214155 507313494 729415948 296049595 948551655 397648295 809983878 108547107 669685958 531746882 969502446 577638113 634469328 281059326 699856853 701108997 719774819 816686640 945026999 754435176 739578772 500114965 160052395 835447506 837672853 300459238 445194127 968585710 682708304 430259675 129760292 829947436 235362077 403379600 738075516 880965889 750508967 258335458 671237885 997368549 730238897 743925685 123092731 335531799 998177581 740883844 648176835 532520234 617449063 542930808 849630187 944811836 819516323 751607409 387499391 887294846 260900458 258339874 884515907 984532386 545144691 501619941 852351485 520208808 767092313 619139001 267466725 255706257 573109233 854926194 226370313 139162717 634932783 739807631 942250976 550643759 636306026 330170739 251420512 579946525 600783186 457093922 582130197 781143811 679329796 166484108 957027665 567451285 301514927 301628596 568339246 574303032 986726652 606903691 377038699 701055134 199720165 131306330 908668017 596677372 686317654 521244790 636528548 880300835 393324773 950474049 171958512 758155315 237517220 516760791 712691289 410308222 150990097 214002911 541226985 886645059 234548833 567885398 647031085 243118760 584893680 703286256 843971554 574912381 702562301 321183115 958035931 254181309 709230615 360365475 940020845 595676853 648752145 762431755 437374726 687345828 333655857 381752363 865064141 497571104 348581703 486217171 203470725 508606639 894797080 897530965 139068157 951283235 575510469 873337568 580743136 162803376 266240152 913346495 258167429 868669174 484697066 341865921 374584407 333663848 558880209 936235916 231694583 893059538 547385941 244316572 616832967 890128942 429209896 533934800 452491337 830233453 770133822 863190940 115521531 338272097 957559567 947844227 965564937 118965499 787419962 121395592 560254448 570815312 376055386 451654339 798803805 517552334 826872028 579455847 863590635 506567652 205754589 410910346 559266680 740248807 833472958 874079978 319677042 355901207 721837818 697633621 312594283 936176689 830071431 419043355 952622493 901636930 266350653 663387430 987740080 581810794 819688543 630734838 143322072 433833021 581309037 191041152 731702202 970143436 409653216 334714107 591719548 505017786 761457781 811677915 407084999 472438281 846326552 469423814 824075046 588595566 382065705 884014135 897550603 302171498 192830454 173906251 595291397 787840429 999145232 846781525 167546904 766232585 804791693 729071983 546741868 737927332 948763605 172095420 895008647 370013600 361697441 970913087 774835785 959872179 692434452 953412444 717525832 601271971 906228688 481119006 772166335 330142745 227137398 508206831 674799324 859666638 866112187 820128711 555290154 361219907 979046632 373060251 828643277 452446738 363284744 548311413 406857093 483028037 746856000 606119145 772868904 495229904 101166602 786269853 321380491 255071591 724473682 352260234 413760844 265136947 344443972 495126179 162530052 239530481 586604185 845529662 374767013 405030389 241978120 765048005 160550612 644516668 282383375 182863001 587784233 572099582 869158094 696105496 644248516 726766897 782655681 537193852 484703621 336097134 581446504 609883491 749157568 757105338 849643318 211939018 429987311 883061720 870516384 148908363 136193922 927491622 506372336 480774281 332655141 226977961 472932105 778873576 589476783 331704377 711979252 906103241 694476197 761901676 204875114 299848159 119936524 985179494 436696981 219147719 155851707 635489916 706195056 458244768 909682700 145300769 429968023 776961196 189626927 863921510 764299821 154508181 795369379 311502876 736801322 314827472 331959225 860938843 440933239 418053374 429881390 111806100 757954839 585385057 333653257 783387560 379808975 407705187 817070730 797504796 365811355 613676273 971167627 366943872 152652068 538960694 373947637 903682357 830774357 172812688 936758596 124658778 557626737 559428688 968603299 467150435 984423407 827154153 900889762 538615888 503631173 684048984 603671572 979444486 370271350 281065276 569637852 535838961 931023826 432957201 529007208 442711376 188735687 482856529 946767840 328069352 412954063 984378833 649458319 454015688 974723344 578580773 310010760 645231773 847195752 329798295 673327604 452905032 115489389 287800911 753136854 120220985 824597229 929226153 505205698 357932566 619881556 116003401 119723863 825268562 502176176 873259430 551036082 196232405 384737550 710053554 613995899 321020276 122925659 393295338 888408177 768146786 734068161 429526293 246452971 703934027 835252378 446131172 472048647 502951792 743842379 235426035 595182284 314940955 843620186 864853936 589126098 546954265 697639729 344945876 760530660 356763480 470662183 995318417 847502216 421256265 509769169 383194909 970489676 921470557 499087923 208393748 590443864 815417999 818058936 308639771 341215818 714068803 535443081 468639519 760886083 689195110 161905270 862515480 514359372 107037442 749953585 789503742 515372602 546857751 829332463 938057792 437264041 737218104 515251056 521577856 235046761 781270237 404808694 983103280 687031806 535022460 868652304 843957964 185226118 489002379 538789701 802017881 432354724 901154287 502228025 973704542 386603648 606678099 705669169 513992627 845454483 875487094 628972490 989261258 857872337 579969847 432326102 706492673 229359716 598322707 351019569 976113534 810192417 358515501 355828647 445814356 810667513 987139592 533693375 983890760 432440981 351318724 642040841 753189744 321688103 610128008 202331900 232008651 775481762 956544034 955512044 127866109 334706409 432901381 595463908 483978134 354236575 638151570 889510160 578136964 685356691 737656602 584165533 688418135 506595709 957568480 289694090 927325314 220679580 935363947 639026766 648962210 323864744 207284346 490978691 855246894 569798643 182579460 373904028 434115296 806533827 362100943 178301800 211707881 417299026 809112092 132972642 151544381 635030262 961096345 799808973 492257321 669889806 555195490 763242988 817164500 391987105 413004188 206689339 992600763 979755073 575172743 743415456 960325470 502203959 987336762 479522173 856421878 936176565 954238518 798794908 912415647 474881559 632755284 810739131 505809561 130207853 385784678 933648947 506614512 677675845 978027123 764047274 258522960 150891057 911880416 494440241 586187536 841347145 396807718 317027202 909791242 690032368 376156461 221950431 762950712 507451193 673391232 199741708 533190449 857221418 788016734 936902189 711276564 143637896 935508390 923969099 515469194 185763074 161075472 280987403 127257611 261335233 850416227 493620783 636527391 347031039 160743019 176891212 171017663 126158817 872534536 176507038 448955194 525616941 101870732 173311670 827922693 938364380 307474888 216543575 588062943 758467287 974250275 439911439 853178602 856506344 978671575 370869302 753191034 591906490 260184558 393604213 943022665 978551113 426026078 582089379 325832733 119127238 540676014 322636776 783709914 866904483 693105432 661428941 474698062 136300458 447216939 505471283 938644871 301100774 827300797 139275809 508790902 921693441 759434750 311254552 869328540 993970364 245755942 668890939 461732605 768393883 132210085 521494813 969276363 850970300 745951195 404087045 952103564 257497746 230443787 137302542 588847391 806117046 480479771 191808687 885981661 700279455 492697342 727784309 938880239 991652867 555220139 881663833 458371229 358467257 103828783 322128713 101852068 873449615 129586637 735702161 549270938 457712800 159875419 509969433 140634868 338330031 502588553 736937356 836992958 598228330 666890194 147747935 867413814 458975525 448264582 122969447 532823751 934010207 946900442 792600035 144567885 238623896 536451307 793182114 870307497 308975654 916424117 557936062 606865098 172915408 948716838 923181946 351231394 295541640 188957393 613009690 984460226 173486427 700936319 501825946 600477527 868640449 365998386 496739036 578540248 432000006 901967531 135429124 537456478 551162673 146876215 706281072 760043556 733058489 272223393 149912286 979324660 457032244 369532992 971056156 497753834 240009304 868023277 452337225 335983880 205843073 732631347 962586252 967488887 793909300 610705778 275278514 265345687 379497852 886841875 279936842 855951584 875648056 945682162 472235335 228124916 731011139 551774290 104940570 566594024 415686827 952246341 397604246 787537181 929734487 929828615 195188016 378514400 383461452 198819550 559640363 679868447 650366575 527587445 503725658 589431532 292257635 507139828 479279978 374603381 797262160 223928008 566459887 522418036 929375781 103297433 107097906 632327454 538229559 600579818 111204560 453049549 647465846 915296171 583998494 735874308 983000824 860965756 542313900 356764606 921367799 821729830 529668089 436836813 526396864 639578278 335533095 145902276 157490928 845157106 236844295 350595916 879315643 598313431 633217475 935048812 769927766 119324525 860489942 890411443 924609797 486347060 476200112 853939106 398824256 395680196 889444130 817920259 495369400 162730409 577406428 329411501 846619158 498169635 133274920 785559904 428699545 779201453 264111856 327500090 122789637 624230952 900915384 411687451 423708282 279417578 166444534 993885179 602141406 894101428 171610474 631437256 227146744 899662855 936766566 942099354 926716345 821805721 171664303 383913432 441191592 693441835 445338691 132892957 244156443 980300124 102073159 515370059 768226104 685736965 886225466 430310579 800431252 557528266 708035594 863480440 830369828 303203035 726679997 681812021 931674151 448941902 282665267 355375141 190713124 809392806 881781505 245873316 843009933 814596362 970008101 243318620 375468370 638572226 330842655 291615413 997586624 546946176 780224539 157444723 296076063 850717014 869282050 420961000 451044143 491744000 128103691 403151518 704359911 146793297 501077625 913484636 309687734 688881294 619414978 434859048 519226212 137965029 395099596 928200614 120157035 770513730 293232181 701776990 332656269 626536657 876456921 412386766 380726024 489212862 392684950 463060919 218649184 479631690 686248762 823061563 390942405 353830988 393328676 541692920 477123210 260925532 828050667 599578108 354799439 337180350 816543355 537018406 356858405 639838142 199370038 290996198 467369049 900684312 164840067 990842687 263831687 500444099 348343553 173564679 292932638 857195181 135356404 959116752 439083424 148072730 699843131 844653802 165309339 204162041 347538877 642274765 346592550 793415522 184883705 866720417 986875186 978289600 897379681 722477443 903526098 221253666 871811005 426322541 360724717 489960165 775984210 182801129 948217297 857848355 108115747 383811619 311590319 385129958 867015401 350446362 689129277 320046182 561015978 404985609 453154623 318084469 125911749 316596701 177487495 625916905 303414956 715883369 241669895 370320974 618294735 557847772 532154936 627289537 576858613 608801584 361508345 103372377 958723343 577766264 439408185 604745920 851490262 720090351 665325075 618324157 485093001 784680621 895679226 482361304 291241399 316970001 104443101 512017279 534928111 434157007 749958348 589975726 928654430 887682150 200314101 103836547 698024088 114001480 424748417 279465141 389252268 864163241 680543159 530919357 331514156 537149793 471317179 336791150 220825635 927506374 331855695 708137956 960619376 950255596 679790797 165320916 770108540 350813125 909850430 277710460 670085419 797647671 716114885 132882860 558050376 365334399 528391628 436828677 810534423 903001028 795788924 243767068 456153648 170619707 305769203 811872932 261300170 219184156 995161291 113397523 768211947 694910056 525581946 260945246 349681736 670366439 743696255 946465160 256393347 582723971 101360851 225341676 686135993 561562677 655182970 312772006 338467759 381047155 744207967 869055762 767428433 990267900 540372581 527166749 354734775 763845480 360718275 695014170 316691138 707708451 910642635 106855190 764877674 653536515 461309295 272275323 980319989 265298001 289607087 836382282 630283912 394220229 774827106 992262603 134204886 576947947 917689678 372259333 520624888 564342369 853561481 924594954 804575870 612107904 602178450 279772096 239548280 161558980 394584666 604026876 154489228 658205726 781180038 607354732 975547425 947225645 262416835 375423978 212410387 602187403 635440051 502233829 771436031 579750601 979677066 480614010 491317552 951895306 524057547 504071458 828530664 847618126 931208550 674326300 317322714 799247297 612264193 435536465 914110527 523235632 209678110 103591843 198104033 611418712 732516012 176034343 510488159 836444103 450848624 707692795 499747052 459732333 629692018 736466460 310914561 294049563 123997827 406029012 852949569 962543363 113750364 482422571 672035523 193993922 501001210 704911857 984629372 445034563 376063034 580661223 849932361 772688638 552974440 335310325 451897322 831699385 113314797 772512114 903697063 748025100 442561161 547831770 655784053 384089399 166439785 826501866 908046436 311710776 953827541 261614242 993953115 961243545 460966386 869352975 844985036 395084661 801428453 626109648 122930774 296025768 164884198 428053778 403468671 547312364 883525422 186453323 210719515 392706635 468256400 733822990 787456293 866370459 363127161 320638913 436950826 687331486 300564326 320372099 536864734 614077284 246217850 356138789 921571261 124413951 381144770 790297519 298612247 548069950 883606502 417343749 943602189 495050239 447101185 261292838 289029034 892799933 558627300 465519979 133067550 621891608 346207201 183022775 493406202 376156842 392684397 354883101 388712319 730887329 282155196 322299271 796710764 434443031 932295579 609835652 408823213 877382908 278057612 719467582 700532675 496107451 430700010 277181273 590518624 887243435 745526311 738933284 115508709 392605166 575618206 515876979 266168376 582365218 803959137 480207033 587564642 222238486 928934195 374806407 660283218 602244025 227920308 475053023 371136907 645768791 929106940 133678062 861890502 892542471 732086899 769791401 444191333 946112742 339988486 627739433 131269704 398790479 315517377 264083873 542998598 454872953 341746009 231229211 332333587 564301886 318706785 310535363 742307012 866625842 135920423 429707433 794403078 331381998 304437524 171830910 579972927 757036492 319663035 871301048 104278203 273204080 680267313 705837277 778387711 183183391 636905381 757550418 539664060 332544221 339160568 309192346 707073146 321797793 340403039 365052190 956321109 114479124 275862697 952726109 437259661 456175524 163590344 850940910 526226189 629072581 156925077 469538360 577010581 316412669 242898382 560425111 146479317 704833675 813902369 191015059 909411897 512816136 542732624 311175109 122622046 990483748 873530268 161662140 218139134 346838144 158354586 237898656 860275345 833817037 523797002 406239238 128624911 156683603 793541749 693944131 357549692 230854194 523515145 859681148 257501789 475128355 707842300 605799770 166305844 854354860 918972294 141309406 434776542 431139644 944071561 710834058 711166162 875567712 468932431 244707859 519749994 255227782 364793554 198737473 379399437 689164759 519767047 757016543 718254196 866695665 475960116 761110663 651496461 319029253 828346412 684300382 532536432 205291756 154107419 172824337 429329138 430346381 319592921 245316877 612779050 934557753 110138347 839785928 874171870 228187909 796961509 293617126 427113200 158419957 132333695 957119005 973994383 269752561 721886819 910899774 221016848 478764482 868431689 128269753 410573366 509656535 566367626 168881506 846677994 280490291 501738928 530223154 821538917 320328771 189707224 908640003 876928424 103977291 854923986 706974664 962861077 132229589 104044838 225830079 887782263 285505570 498588452 412316903 199388022 913627529 993592358 608594866 908737140 884674571 346514534 684282192 289206800 878100886 307321308 942972591 834865559 230034789 658200013 910715599 370509859 190120417 585653064 106121486 624812569 315554388 388139285 766085782 133415808 197268296 877106216 690835122 344501948 595379132 645001164 246711717 113667688 641696631 547517649 149374058 863568005 345285375 138621966 979229942 250844383 655642122 666552245 649032852 749765461 218735800 117068289 161101705 800945962 151293039 361407527 739435041 131798911 864080898 398331460 369302404 493427924 693723373 658328514 245308551 500206742 922052512 849084728 680168285 221719413 539217424 976747608 428925471 305627387 255045253 282436377 776355603 414616384 797664088 411368881 328171388 502372602 309733310 532070480 459494541 136542021 322222306 491017208 882707486 800366260 849392885 499998941 978673810 260988929 259492110 480970401 700255806 924680547 514362125 342295240 511468235 669342347 209523066 791283573 408798493 225891744 888151033 195371016 828591578 331842021 469095070 414376003 725542385 463749664 505868115 562275780 686684343 189554402 859111792 402493473 184677731 253602527 937264207 140668958 804701283 202177338 462544981 707014314 822938647 167227207 905719991 884780179 144769321 377571952 318382700 478766309 601925420 501012449 591401506 562382637 144073125 354723085 738486635 735775656 306629497 672777152 842779850 181808387 988792196 118471204 432867958 871526393 733723478 301635574 479940892 175176746 294444481 226580014 601424025 897485903 432442131 657471782 137520231 389502984 490327360 332587440 529496991 258040482 321110288 515318151 483438591 530116917 149847591 792370001 894099189 477148719 943335947 462607255 844550762 980472723 957120204 598654750 628403326 889505903 963473522 808764830 386750742 510726606 357763678 659703710 492275384 458588031 955481699 138987617 856808194 312161425 196813997 676220485 454994282 532844097 585130233 245462366 991792145 478797252 614371282 270156263 146144871 940072177 884902467 210299576 191290792 321514854 458231225 582289947 702905155 917323465 219413834 490115816 954675693 218777750 528638565 190026056 983620090 308190068 773921240 205775480 308664974 674863287 129906965 351671343 837145731 993843336 724961805 379294481 806001010 442736280 215901998 318695272 639741767 810545839 664100804 184608392 645311338 404264244 401832270 505081465 781585803 603747745 623412483 440788292 616929218 282006729 182869601 227035214 587201082 689387954 820492460 713382113 973035136 360351214 554630161 674612972 512380200 302168835 647619809 371414159 168914567 229143072 782372229 296763250 281217273 896653054 114748090 423159602 234534688 968015275 251072802 383431904 380373038 269117758 807374940 869740591 780839598 298882376 509112837 352210501 782339173 403244431 203804426 818133876 689685176 897694923 861992794 574700165 373971625 948811182 579613432 643114070 694135929 314951012 559055450 304336551 534340174 550594072 211549912 993756727 734575961 102341052 600044660 695526538 600081020 621340862 527746683 395188702 912482009 195327206 351018573 938280274 147129468 237519295 728921696 121904879 989172809 446378558 404034238 666224777 303956291 492037083 899763101 561895279 387968623 691237419 685669134 495753935 538559434 738920696 220188620 728120213 916474698 381243251 734578997 807604670 312247624 339613324 717819450 914168464 906758891 721128312 776686792 893967286 213950146 283862606 351045599 186214513 130248526 987097687 665452789 111756543 419896350 852839544 802061217 460814580 585887571 542198790 265144110 494001062 300929802 821930287 325199623 840276737 637639652 654814982 487614515 417437729 875437108 260194646 789413899 866912663 841386894 746151230 383952835 954629713 721615437 104151583 809987930 645596769 575016205 948862834 355589697 540470369 320315836 436430194 909461241 830066150 875965665 594630560 558203386 895287248 187186211 394807231 614884393 491220991 414017695 624101190 218922685 154988194 867197544 602767477 925474964 745948665 993097351 352444361 857122400 844005993 447999044 876777007 507159038 705773915 423956976 281943829 808397444 381142005 171475941 333547894 670864323 950978116 300465179 858542035 420732699 731002027 376162224 121273681 745995108 539878926 753301125 671543304 146138163 493036407 775926173 822839704 821334581 799257290 524995448 982780780 857885316 487364372 880039778 440471590 715282248 445435879 400052180 944262794 753844051 413847564 161673888 211305918 933444167 706621983 161888041 856056425 411932935 879325456 274825421 580212614 485730964 826797308 441468466 792401983 570980941 565969482 878570108 593159397 218771273 594003999 594175191 437445955 253334191 227881307 545162413 796405070 842462519 609353780 531479308 965475613 335357167 166483049 860100148 303232584 586507417 982858428 412500965 584911130 126630542 431768500 110302494 870602225 951886021 736275441 368581386 793802953 521876709 755593982 662338537 748805993 231725854 286747001 736800369 824680927 413911754 981676695 397584000 986138474 779230171 784170041 614778390 738747042 667233315 295180228 474268662 751370744 972223469 377045366 920850288 412478210 439484631 593614855 594138654 925565050 648288273 970438199 207161434 828537440 881381569 794100460 859010414 404560435 310252495 729807796 142768757 480355374 109232389 718891259 583483798 716227729 145510569 663271895 220056454 424367612 109442626 873038931 299534878 857060316 685293540 296706068 283795625 466007606 861734701 589897271 744967859 457636082 824773557 680722607 189616099 977385865 378780079 824640539 618176299 197341335 496458111 265916589 236486612 769186771 261838168 749366921 829964601 642313707 456219287 222930899 625060733 281862463 995667562 958576148 576974860 221934707 443723588 951559706 657346854 709970095 655937723 234916894 980690297 120860800 220689191 829507772 185789818 869721507 800455616 841521264 730278078 336525881 576808619 113249444 929500674 856741392 396900284 985871547 601359811 407344054 776495349 464291086 569607143 199974358 252576296 576671107 720771641 116555992 441619612 305370561 831091122 468874445 452005301 108749572 884857595 588637214 529174360 284094302 353647102 839944420 503444983 267781659 377441777 144806603 747784342 927876593 485348806 180008323 728925852 549560750 286615382 678744843 269344253 464372366 290479210 941116116 732167917 447855766 773716648 945372322 459496000 880322187 488123012 442970680 617749448 194944921 557862394 601065163 637532402 822426072 736981814 922849495 789332626 445087439 357620346 934878389 860399044 389625308 249306655 720226200 876956615 377017119 790476446 370341720 246664233 930025461 702921462 275283271 664794872 171637573 286646652 991392107 958158235 769708009 737209039 694258888 367608840 682268236 671634132 165673723 677992455 229824149 983149523 302273152 151177463 808929873 175760204 792557768 104883100 127298412 624506265 272254647 283849677 708236211 433312356 663707197 745982469 686541943 365385198 753976533 708884483 861925729 683561722 586523548 837858421 477983343 718461082 718377998 540128663 800021876 151096923 653994520 566879192 256659664 233089046 913494964 836515971 767252518 782692745 732890200 619901509 679723003 240841333 480548049 202383029 109589624 367439432 938146361 674447780 557975278 638236019 544840669 275721366 344349016 721657568 595784253 726319561 337762470 489380773 155051903 281451265 105891605 186225989 492949953 322800530 382890642 983900296 544965944 683874187 861754525 396846537 293783671 434220882 872121767 524850563 685741127 960279551 370673860 855290640 833929859 613108075 822423261 908864680 751330237 547393302 922704036 510422882 488843318 634437767 472656512 311882000 253742979 175223430 691797960 721193274 444050192 382233212 380418169 587074501 816649699 376054777 122080055 118801015 554886165 173649259 901599023 196540979 555939395 370749842 505241196 762852977 590066830 222165897 252015319 107056455 674889701 412365309 188239810 316140341 145886311 505569389 836025363 213620642 100022042 846567271 452714817 504130009 383890253 631229248 589213176 504514821 593816987 148309530 879826358 930490156 213743453 836729504 234091763 999735847 604965226 884319463 811993863 905263228 998198707 956102383 980638067 552134191 160608425 758666235 707439414 595355838 243529245 452959123 785460370 791218264 218828522 263271142 836335246 993648651 958909694 238477308 394421329 450481555 349463014 831633054 783951415 146187688 796611998 304433633 437051433 198548578 929129903 937732076 468104527 374748073 309727003 687107428 669435541 162568726 556646280 985823806 818960970 934680503 385497709 826502955 133503044 301061870 906599362 715045890 221982925 984168130 174053741 160221608 161402418 739925022 521118181 650420964 228023416 978760008 551194771 818233900 762876233 831314815 399490418 626356410 218726816 539722901 673882758 526062076 842813977 670548009 900976023 980952252 773270890 341997412 998955649 902127370 156253634 188938328 225666329 225884242 631917681 705124889 289418675 320241694 460507308 404818335 882227728 935118441 342321592 251115938 957903047 452090982 598691876 150082515 762943673 444925343 385264534 992890196 548684469 182400202 422166408 832313751 431584888 121824491 645885557 738968386 154016020 710147354 647221185 994308233 804986110 261235120 105940430 714101035 194917901 527214425 936243221 671960295 417890762 298644512 781550249 675656425 968712322 176629498 148958171 335108089 940341709 593270475 465673829 651862867 565373640 476926847 266461253 287398178 191867904 923112903 967764872 537491969 772790018 281252596 101117971 454050549 803892469 368702554 422791572 973150020 559632096 472446914 416126839 337843946 722229173 250520511 970819502 341286982 315292763 336984636 756156592 583471020 533344846 154291015 467968016 422011365 289771865 116051786 683934722 411123723 110938005 926220119 189230425 495456740 831898232 713225793 897080084 495468503 344225155 281290342 706576195 364433309 420470349 928310236 705838858 706125735 979985083 858168799 373255906 733577943 257581142 959140687 689255287 334837972 695095185 570595172 700481762 359480371 764207854 290612813 374203927 599452199 576068577 152176522 669747975 346979698 851738449 968879953 895004452 394290954 632241009 196084454 757402165 515770089 888880952 827742888 550405019 998171919 553375464 222735775 463048096 794235689 351200720 308849404 302003299 221717105 173024938 466283518 778910311 597981218 168525112 566033157 458188773 455987227 636687210 879027942 412752427 860537255 195067168 180383348 351243877 112246430 834135879 293044705 857079100 370530664 313900096 537448895 686711316 654473038 418744608 160870841 548489265 152530865 259601665 570804145 428329648 435134446 903213572 369710486 862793267 806426475 250740996 916445777 792683832 327599390 956615360 884695158 184047177 750275346 810246786 398349638 474233496 790365523 540218248 374151715 957117100 379060263 849704074 138226998 742668506 588206517 893331012 991440553 718334737 966916979 447847040 985847998 237184224 585779347 546262074 777907088 529979880 640858482 143863082 432603945 740613966 542204635 928953234 821230254 879679357 318117080 252612971 498064172 145667410 947773145 207480391 673613078 163845996 302698340 194320147 981868076 557153370 945186904 310701612 374668223 886876646 882071041 663731237 618557979 112013021 821532475 420709207 928189592 828560359 613728742 229122153 377338928 223589681 911815493 108538023 249888897 266748194 241111864 373465126 323192001 142376087 442416997 290022931 820693958 755507273 564114981 593133943 404435097 922610885 562111775 136627536 289885730 156225349 545276559 578861200 606419946 335867344 434830861 407606456 347035228 114577670 764477386 164056544 878821332 359588812 336193585 768293019 230234902 893542784 720953443 553876861 212960752 616415599 288510762 182451722 762743190 611187788 164150136 300108847 438969234 338323075 950472972 422486143 766985389 317192805 298765214 102725628 438303931 842162689 986331666 975348763 642270597 707412166 151221597 470881241 418116399 959703187 978835947 652265558 645773839 554787761 525486265 254527845 589583617 576234461 179234456 914624558 158946369 869375923 547974391 270501743 676065045 610371834 860660929 131551582 440111270 285584712 725569860 115988966 754791860 619192550 459195623 474910290 502723347 143794067 917504928 999074956 555772954 232869544 392282886 964073767 482265946 764174420 930535790 851792482 681235245 480757927 162336574 196949409 567019921 348731250 145611842 680895522 857171983 205257176 418203851 648205535 525231189 997701771 869307935 786938301 405319505 227559698 898674661 441889300 624913310 742050955 254892525 906438321 624860304 182266802 842153208 591704473 178972175 590136374 257584697 758954896 742802338 411592480 710506499 286514272 933411377 619460612 433095592 389817206 225131596 806145073 935544110 193436115 422298374 750461987 434013856 557482115 474870300 587967846 659361784 626246642 300261086 932159266 101917566 101899530 874933500 902636573 636758545 847534216 822791462 963260235 564727728 661095046 150564647 581105187 234583286 344729016 960212013 983754068 408192147 738742699 309314977 980758105 306014892 561867180 364107095 542645197 676758036 957219503 781451019 157665020 476975794 253540577 685593650 304067926 970621793 916811894 556207373 161931713 219739771 788022399 987539992 820646789 411512289 765396906 791923589 779015752 526763690 132548416 456674852 808423815 457415356 354600587 347066776 896159065 384217789 519504080 839410906 214289136 926407548 501505195 685686618 372015635 838119696 216781281 400867247 323377967 112129708 765656744 737155706 451817936 689543863 984000604 101722374 758965454 352647807 306941385 280241511 631251852 182773288 190622523 633569031 345629249 376318949 900377748 526679623 873122886 584682754 616702494 580936866 394069743 648803409 546606163 123973768 820594461 454343607 183785772 196497027 247945372 741709229 540603176 365001617 669671755 207230489 479524350 447100348 132373386 978785857 340101906 372909830 375257541 245423915 947240133 605096953 392680280 512073162 853562676 961066589 829913928 364523882 964580787 102022519 867413579 244564692 362531045 650272798 617475049 357892435 203304817 477867501 951669881 120170228 659767855 372525079 666704416 435353477 817172807 767551342 490067547 257524746 571501720 412078068 180443650 858183598 169108633 664697210 388325073 514402426 552167270 172998122 225489425 109378928 339502812 971111388 375030941 466970572 534351481 854091039 875322857 588965551 403138162 910268813 500764119 290193167 508693148 633870003 695933441 255383928 471709572 524620997 667547081 940063749 745551048 150886056 990168592 439379122 289777708 875693755 753902438 912664717 767688565 835124947 586177801 640779734 565249219 517744794 818258100 242272956 970287932 787625538 996263395 914294953 184993468 234444850 496946999 998061372 115349871 521329433 857552038 621761871 885098404 935851754 203308311 951431709 182087709 600849696 468931687 890022715 570512033 748201900 393182376 372548184 899977698 549356562 466357919 697507932 529566521 262112385 721912558 511539522 766976323 417772807 799855245 609399667 920700182 282043830 407592743 599721345 871457154 596076828 608118876 747122269 152491934 496586301 138593150 511136334 928963492 969261641 886239665 452090749 377185337 901958915 484671281 968943521 479671663 888785499 884000257 292189394 735693257 164060143 500476678 905322565 274537687 378085674 680209151 138382140 952827409 247351925 264732976 327881485 940435948 116104064 201343683 380407155 869591014 271799235 127526858 427976620 485312886 351145210 752908846 145443610 530261951 417617586 117507172 810066656 810734346 853481668 277516013 591824206 971613831 227028467 260111551 781195560 983555027 696068382 169638890 612543621 226198808 903093248 322746973 163946507 209750874 166864980 198380081 464927247 801633941 362091819 542248562 122692991 153790054 478344502 732849698 740476303 796062766 380549054 497660466 869620561 453106833 203077430 788593504 580239556 280612440 647132247 492381855 880946201 251782643 292706013 116736922 171759941 524941987 415279157 961570737 136138130 906174639 668809126 654354459 473457885 678051029 355189908 911765365 162315155 616165506 397860080 208085377 412414624 594484257 242650678 502856976 551628504 988133804 156753263 824806213 884739809 327772405 413546132 956865110 345703934 867439368 253950897 362368868 732582595 267948705 809684735 765343806 413938021 132305509 186369937 459303949 890737970 871868661 524135816 132143007 118390618 868087255 643824440 668404594 604726085 820909593 812268975 503150574 263306418 568639905 834785177 732034376 610641334 180246108 113393298 126029355 193990070 391841728 678023593 125159552 719636829 358367371 225103025 844646102 328617515 160875174 227711262 861136821 316368791 387052952 807879428 650626929 473890796 423770681 497231387 930636886 565940275 146140429 414804927 383649091 159693266 511897367 686348946 538843547 625283227 549317012 120962229 463635428 139222994 894779126 210745115 551875051 821509944 193335651 860094939 708909466 158440856 963855831 224622354 204991066 882237152 406093537 122190506 349943145 542657758 818185752 692791061 350437166 477381926 989460831 607074237 856922921 730141627 702407153 924931757 865714540 835578327 711003331 302146593 416810366 311959595 238234396 421931100 208767163 448416000 615850644 936658318 115397445 310036321 156091551 706374612 562430059 600736011 350604293 482512325 598670246 237950029 636184192 498063916 112090985 682680380 486094619 847251812 903583561 911926090 486767927 215425877 334542430 377882367 676414943 352509211 670488708 798257545 429234798 495457094 432681692 741686673 691927556 110546312 505185312 974506275 258431780 305506358 743259916 802291009 730109690 580847571 802589513 251932442 875151273 933834484 110407595 615475215 502432328 328160295 499064107 654602154 646288390 159141155 523609773 604031020 218116003 534295867 282125245 632546191 234495058 785771787 966217397 357325734 402005315 516761841 989369651 228202889 898723342 775870890 678981881 234456579 818469873 339534466 384526926 251386329 123733830 841278574 925875974 377351445 553089405 862761577 982814661 909653636 490653690 830921001 710036371 929323365 347138579 588886847 160097313 194103162 607378579 497547482 910413665 513483384 182050555 270159952 538506827 482602939 526196239 280668101 243572042 467245372 590323395 823810524 901577393 197909934 301606709 479451682 103803379 681092168 683658714 630642084 766531378 710299094 891379149 543575157 570495757 487636438 882738285 677740383 254325720 428542116 183135890 671286521 165291574 274459626 549089129 991537674 326981510 184357285 284438118 425141772 547725363 346004775 546359501 241331935 362176569 167966427 142507252 168395722 402306976 305728404 791222065 598705824 873881853 708434470 776302404 594711705 541041292 604921653 193353231 805635852 150501394 891684060 465155288 260594066 213186708 220587628 199670735 216400440 378630658 836072483 401819077 286496877 964318708 311217712 890748755 785759309 610751143 333648372 693291181 194414655 473830077 786288688 591932524 260348772 632810324 962603570 742457406 996667104 281867443 793854785 841922353 564371728 716515006 869044256 629917306 124818083 602306404 713308819 518301456 579964546 633997398 255649702 810586230 984580354 782742606 238936072 387536789 707183867 376189474 852457428 581043236 818678487 867390495 725832720 837318963 400720060 209504110 841989932 728058037 858639211 496802156 354496782 849729703 713369432 790924669 203402852 313217922 389223150 773877044 354165102 653122525 649607218 752938819 962563612 446151378 949405053 502167175 192679116 463211054 897975713 413475686 649970173 442778204 515072844 475970886 216222932 822578931 916114933 793288425 896911504 935509594 113064518 219723496 505375272 875471844 705895479 115013673 587226892 132975674 167100457 913127379 533950108 120036386 724518300 969436755 644988525 946880469 948814323 417272692 521703871 299526076 410882079 409897791 808891577 623573536 471392576 822466430 995901417 800128687 297088571 963166747 264015064 835168044 902057651 134079452 482565980 646905046 678627667 465826331 797551840 358355885 474996640 354304120 769292381 649669117 679041469 793856178 903437927 679647872 248595566 668122498 777225694 248513314 417334374 963911590 399769720 267488593 251251804 683491011 855114464 420846839 338509876 411497408 725126100 903799034 555739700 493053637 213413591 117404149 135614712 543657562 225633397 827617133 621074714 603836702 390965225 807043497 691419105 823187835 410480232 290124474 913079922 983631052 990907226 420999943 536060741 347534315 266917914 100571722 334436132 359401045 932471267 488334940 845183804 176784905 152355483 932266794 356546039 304959196 900542476 521670248 312230004 259345467 259501106 820267334 618064716 744527148 639659851 172667328 167728908 253721455 150171323 465839114 574118682 246185554 535647099 360531306 277774870 325919098 843305061 518326176 853200255 978697071 429507647 957144942 168271247 131301790 877840501 916697909 931549720 119278619 510648238 951317316 812634297 439613562 264762966 184249390 713787674 724965770 523372728 567965449 753152959 368081074 455261795 712455943 375874283 721917244 328506207 336573020 496297086 106928678 546094297 644656707 363265314 567321328 709899777 213782722 637599450 548382722 960883726 837077045 326008976 259352875 224005723 516715664 784997442 516264709 891219514 191796601 789833838 872306553 455441250 341051357 402133923 214947469 810951635 527727002 567857204 691573954 356993681 760695941 291778926 755704590 738828589 359669225 132444450 243720177 442744260 671804192 290770980 206768493 158519763 575951945 263216180 941371988 101982036 651671758 610113897 437758611 362154472 709257655 386704547 361103126 400241657 549143043 841872569 794890919 217333074 890113192 812487143 274655626 254075096 302187292 841244501 415569145 987533428 926420287 361241008 116059736 820001333 780360051 696988122 764412695 530260779 544324378 630388952 445845947 809801605 805916818 764979647 515766399 357741509 490558682 782986368 165242755 126394885 216793380 456479024 511476789 233057538 325049119 225425144 352876491 241135969 800028657 506498381 404320521 702600035 176077393 847036775 719550810 626463013 438696489 586034924 583782298 521760512 889464004 371469883 825704144 409948988 312556821 764489312 894485602 527919037 192771528 126351389 181039040 751261931 742743274 473355646 779130480 118373890 698147879 749008885 640420675 340219779 618042533 921650775 451058596 471725374 438974960 840368043 777609854 963431564 795360766 518698019 952582717 247949068 237099998 609870632 622334416 319536153 854571837 214221424 364620790 996753531 423832529 462054878 423357216 496105920 829058863 149626475 382407068 529571368 178810877 526710689 201268602 215788899 344050394 598270896 439021595 436674908 407266098 203731740 822084922 804792081 706893225 251049691 488478667 265805795 326399313 925724625 865994761 817224018 641228376 857517646 576136207 462970722 563869726 534742895 502586751 797259875 601979725 755865076 142392032 586078299 435710808 430829547 567025183 641219355 484177853 596289486 690837654 926572015 429923893 718161147 631630767 792673403 269606799 939271933 564125697 314056429 159092374 586418373 122398029 778834874 643933586 666251512 434061791 251514651 942114322 955731722 158750126 803928138 535197651 977173223 136812286 709096351 986505907 189653906 950039226 206912181 593034693 531053545 721776289 147103846 209895915 419999829 642972444 991242500 335639682 985011237 479317117 403044945 761571101 894374161 614457029 631291822 260581332 326689433 271987711 441996923 405800465 384712073 115213248 870326367 323032783 565609424 691251049 384769608 399081864 746973951 388772849 507268416 740101975 563256622 492525509 283542434 152985395 576455378 558258426 366541033 520674350 292153752 161578216 136578059 673971507 269909299 149187280 864071225 520107069 991477664 641357790 515671942 155989309 398929885 336056410 162445309 294849533 233857220 887614072 218365836 183905440 869041503 350029758 320882399 163174250 363731025 328694228 150038275 596027715 584766703 655597980 487852312 917712045 300113818 281329379 136676642 141364904 838554250 897466936 852596484 730533240 394219649 502816670 181508484 287475107 497399042 160380104 328059114 582751118 398691352 175125940 131948288 300747978 733175490 920444759 577413361 618445988 782798383 593692781 405838205 118164930 873747035 212238641 543215702 883458402 782871634 559513861 717371329 594254981 681337940 154688600 615056938 790413592 992500656 926671732 360771579 720679625 974665983 765157588 547303586 392602459 760373656 132676201 923939076 283513458 603699867 334324466 695139372 785904888 800412621 362968386 458082051 474781214 888579331 212448557 706767184 431518204 485016302 168765847 653645235 609922161 252751032 968290806 232248825 518748591 795285043 611404649 554181472 123705588 712301988 379337798 523641054 599642777 480245128 832143597 164512784 388525736 132992185 132186052 988063165 316341826 916744428 210781230 791117779 573199012 980392499 120294827 999897537 513022070 438159833 103808417 103278471 162751857 288768724 444053608 144727912 836959711 661372750 511297699 419883408 218341332 703443764 108714439 456847654 987311389 999180937 283643217 116378075 561142785 726907203 355225726 948133723 532060862 101221163 928631245 446512283 863975130 522777578 554575070 681478253 383831939 702461780 286174409 869178759 101026358 991863244 241056124 705224394 144126669 402736096 948288597 110437779 613282723 369798672 849302667 598399836 776609366 429554374 267928250 390259034 201519754 694672642 906235166 930220414 429321031 440471969 791553954 324825309 928940503 990949153 250704619 229222614 558003365 847742219 955838287 796089825 104663476 245638746 841218646 993648163 450159150 103555988 154766984 971646970 337679031 142847159 944682618 621707131 525766724 451282839 422248206 241993123 969206684 418619278 740938644 432378356 297275836 887295619 745048951 826461643 875250800 451097130 512063946 799643289 897122684 250815080 233773977 738304133 453046081 601745175 832238532 201601319 132383106 471607620 839686002 819879236 909655885 886230101 962245776 326722678 285970188 237441367 372024429 412188171 224474249 108283677 973477613 976194112 190945015 796683481 141206923 207701757 795884966 571368428 338935077 970254814 409512583 885186645 840274809 302114552 437017476 213540925 568546807 641624503 269915036 247957491 105746335 643650069 181029616 927350368 847407150 942749927 792866321 985188166 864380385 927150482 345354582 995750722 580567760 568821573 415651310 844895887 964419901 140958605 800925630 184054361 803810010 541416874 515885622 348136230 695494821 318210392 595788448 354405513 265512026 879381463 557232104 960349961 317885474 782049136 881869235 366241444 261069869 710544644 658343971 760029082 993581910 974973335 449939248 656007286 285650194 894218798 896162082 204266868 184884599 135928706 707527678 460894473 618410097 518449054 982298863 322972955 320392385 718155470 787745760 365297808 685632480 330462286 151266859 284433913 323116782 453486044 109025252 856293522 133111133 604149389 776409299 810819290 319119965 638285369 582398085 207766363 722337952 366598380 654092513 656045257 377378602 711394257 171924888 470680102 227922732 893692687 421862077 902985081 882915302 963867460 897190374 857244342 647012458 189536111 442437491 714148793 359352483 884893258 921744977 815122962 793611532 572284958 823831083 142322649 700390585 654792067 916348906 116344934 943004484 684855936 550304302 588461603 241812932 538605393 987185729 447524661 748550730 106593402 311768529 781614824 806354801 821718272 691949181 551110318 397210839 523601550 895884119 797438328 889991464 606722798 294246140 806500953 779422605 724507001 443983551 811607086 823363145 947745942 963285364 773908361 265929477 164365105 833315163 908466211 179368879 562206829 286925101 779112343 829651388 279920226 307446278 227560521 943071876 861745089 366544745 706454022 817410893 826751834 621673318 974062629 786752981 489182725 148938838 777112748 375533638 416411948 467595090 802183332 804991998 418585635 993422468 297764440 790122617 990203488 709892918 586991798 749482097 171161348 671355033 545498380 505181436 763270097 452178570 333487213 247173428 746920934 375369720 598527638 620329336 375818586 270390632 588426562 523177078 348402316 231408190 769131473 804540245 468367566 911339803 586274425 187310811 933691116 174769589 688476119 716480132 536504541 902050525 874998004 514580614 748769630 285007149 638756570 398475461 297958682 918796372 145385527 237347457 568420391 701469030 276125360 790817655 139393710 408727209 747173279 586928310 996663613 552598622 382966621 327300598 805352444 471044986 671036384 153910465 234022263 871844292 967314143 623449953 780624398 268416140 551488562 234675576 241216053 699767179 753730627 403160863 993797651 225157192 452746504 560299513 144129864 204463008 674738382 203874566 449397005 864673167 809127243 325624088 189277156 890162633 542165807 434781701 862489779 320731585 221669099 577114996 651344085 548690651 806451712 814177532 731356637 660779259 963516798 950082742 785179497 497657572 367347985 264674103 464991782 299798602 848188785 649281412 449706316 931115780 898363993 434701688 889141491 947295541 857259649 236629900 252681851 301175055 328622034 847513059 652804928 192203446 208839571 936737689 732237195 700167024 791231279 965804897 182634526 200992124 586645903 552751028 383690045 432161776 461568253 182509052 484784553 643160331 713326959 310413043 671344257 738122288 362130590 646070854 825742425 932265378 775811511 857078961 145315761 235825436 608693673 830318296 368552206 164371746 500770825 556088532 984491848 562374760 198829553 599878651 502210360 866886393 322691911 696902075 970969601 993907877 299942501 251022669 486852528 179719042 116382237 926954347 745697342 474758611 737675257 477046387 732308525 229684579 750177153 344804567 184513411 176221053 662275960 142921645 481446890 595648516 471506542 892013962 877534264 958218368 235288700 116900310 924893141 406404358 735746662 261396441 539818235 858097305 818840936 519044008 952524872 494396294 796947730 729326446 385580456 964581601 840336913 576849361 269575002 556793064 114557270 278774578 625606065 995723078 716231873 136450092 166500522 342641593 147256703 121680294 161279441 136927414 343274527 881106191 337020929 927822088 920927081 627521886 216969106 825374340 117530919 896177162 752888306 388900302 932953970 709099637 715208005 711341380 575736453 112230799 532532092 405069374 772798980 897384408 340770126 240388942 788212355 513379043 422832650 222816456 166613332 406624202 752185584 275425383 810812791 819339889 946713686 325049133 975976506 347118511 110955054 860669292 200180631 522126284 215426897 102686361 979214601 792844671 600579308 574445715 566827308 865658088 122342076 202046694 280174780 318672942 725668648 554282100 273590253 465498694 883887904 562661199 826923563 393531202 332801802 320606087 499205655 567848697 204876628 798119981 902964744 723398894 288666067 717866817 474101139 545080481 310318324 236724683 538797871 930607803 213710583 103588868 693918343 725212365 154186038 189304603 713347127 115845346 582883546 842962264 165596904 358995817 980133420 711501173 766537579 719750365 137373654 714286676 914161348 687833599 645606227 382800231 877234359 512544960 472439901 366205997 300236087 256912929 110937888 131444625 112740797 267007555 961917274 114243398 648888810 960365906 738143239 968738076 401470907 101434291 271994756 648118668 966316542 943426435 382226687 996598035 723624787 217526120 717264951 953713529 203863768 208737507 310225413 403929330 466100221 730794720 297214947 969582217 345759993 374697124 529279310 745136096 433437185 307201248 281516048 267555961 797243445 339321246 238190683 547221629 248485953 500445079 374461008 264141918 382385576 589502372 814488953 199834064 764541857 632332893 298367891 216964154 834785456 675194060 686963347 575656224 710992565 192093827 823544702 128117426 985621255 689047899 647841880 678013884 943444979 564020777 952735243 636599421 543972229 515302882 933677898 649605588 571907251 723725218 436288582 832860657 935637604 223576877 583701176 635220243 996528788 268194314 296403065 569096863 793964177 793070380 624897775 423760109 183386341 960171922 990820988 548499674 902435671 365419099 513587029 507226043 500157927 739386671 232952288 922700165 496054376 381879864 117108261 802062512 545697179 488781612 926299988 759387175 855671332 934885523 313157154 136094875 258470306 786236417 543407105 267072426 186947580 118202069 960492888 216808572 670774435 433067958 393956397 428192720 232320259 196751090 971305376 829147700 595323499 992777264 830516765 120110824 780546539 571601109 285837471 972624687 198345154 690395619 690447531 163039597 342025234 685971347 808267839 774095899 788225499 569788279 600278167 228297107 367987845 673819104 930339133 921151773 224110986 550261570 302758970 626601285 398813180 726800619 256093396 571880919 276813520 558320602 876769597 157151738 483502644 855231972 121248567 364246569 486761852 635435298 708978923 920351897 173844458 798592364 785554314 360255077 532416974 100049874 720870233 196385720 641816485 108258852 768221045 331254854 619347297 428351210 391418885 265105038 336199025 946979629 375944497 689499617 366141241 101995643 352947707 794632730 318461249 499956324 390166411 249905302 154823411 675065529 192913878 112066430 346066208 675037845 125908501 314468939 774225057 158799355 178533648 568617263 491560807 710014287 705890282 903735563 676580261 818961493 752823004 333901691 577784975 494549019 994088206 129182985 742625333 166642226 604842572 639453343 972676276 549308026 629791652 397815637 163451180 201199952 237756403 821952639 922102832 244078933 304689210 716094344 224526019 253284924 968093409 608194911 363042903 932595723 873963611 398210978 425473286 593645359 193117373 697899418 801635110 691243651 948434221 754553598 806372875 862113035 213142518 115860226 565566377 753454940 154973643 856929597 174768355 186498315 564961000 154429065 805328236 345476577 713960864 169212429 868337211 258090723 184817131 478358378 926445172 935845640 515139041 359384020 996109833 229332643 828268623 398078352 177759169 653909207 944802746 648488679 935556308 593229216 114227055 248124884 358514157 412277426 685783763 844167919 471288580 486954181 377124857 455791075 481246658 515090744 148497726 475732697 718725475 390804683 226742737 765812398 917171664 418210819 646312040 663649122 543326935 586996971 512276032 309334112 290262714 234706591 979023567 552659407 874632020 183259950 953509681 369308215 975708896 624680125 258241637 953181902 586192696 198991257 880148939 394979895 913039557 524398748 573666410 338164116 784208838 166228019 539897365 136172473 562634043 123554429 948906316 674912130 692579140 226951177 930279610 658139979 891469955 675086943 639505566 350660243 456038935 646446217 563216034 229173859 280196700 421954431 755396658 521803415 213277640 708171209 733746872 855062978 321341031 502457445 917665368 413414095 916806495 433360808 616794901 500831004 319282783 811411648 148465844 160927660 987578841 212749810 207367562 634270318 578330639 342165884 497936994 883487754 316235673 981256670 407939474 806460928 216854918 705123506 759939886 657107433 541063356 915268001 315447095 819761978 637145358 454465002 484773840 266712402 916670310 203245378 631562043 145238642 230315610 310720138 664651920 766118492 612476568 294287445 707165975 107637036 884526359 610616593 299788713 414019002 482519574 885927598 580648706 228764123 329529685 407675273 984459842 413276855 342161955 819101617 809506678 341249474 959073890 308537233 330492371 515694117 192577902 575437572 674867351 819830900 951540218 286522864 322655455 302399973 260457884 505842750 633612719 252832937 872047628 517595497 117884145 639458516 692195210 268019483 217221384 305386190 683430610 727946784 640355097 997736771 866773561 315448003 149956917 310475757 137304569 666089637 686858020 805656946 194759547 681773999 755298246 431079690 763716274 974393459 701193180 477808099 134590282 518254321 876842360 676482482 617818580 931914906 437842382 713554160 815071261 744831401 992900632 511917027 205575133 433321442 821593129 808308714 859120380 890387094 624265880 487735735 744833895 764814927 313901233 305972107 947195864 377963729 377350876 392884496 985598199 742455725 249778373 781088663 450922809 241171725 230883918 874259592 152946114 460875177 122816608 651256875 569874512 116104597 562718416 921983062 408663112 201853060 818191055 454792453 370347134 714906283 352061848 168312411 267165365 811688753 465671623 836117631 237805358 914098482 854451924 748645898 900272233 678890616 598733587 128554799 785076233 324455360 922069971 367577598 678060947 446125423 440124106 365308442 204484206 795458873 767668089 507650723 404079442 724983184 467400548 874088056 202496369 558029884 920893480 666125399 731308934 724613837 483580524 214794014 165768178 490189636 584570789 483498127 236002112 151300706 842712315 872359783 166380314 879455266 478685512 988148265 658752274 724475066 828262868 138704125 593040933 918020344 808876826 115367135 923014128 203798709 894729808 218826907 342265954 631444914 339440303 441867244 862995007 931676631 422469872 849902831 138747224 116962398 824881085 175475786 417003447 623210868 366258735 382932935 914847452 252869754 997737366 200299849 206406094 708961187 412650450 588444822 550584219 130348967 117723475 372222015 595339009 837754154 734483321 358498717 990335150 867706365 119392987 398618715 749323463 103551760 102867370 716755578 533830121 947808664 257334833 303816763 152775422 887919794 103645736 245662475 500008932 892592368 230150066 923142771 513175316 949255822 433581489 296912312 999238926 770148250 599742689 840931812 271553554 429891620 742488944 164252384 341619048 209852596 747215279 401022778 220791799 678648465 365771722 377522300 398159022 927138081 659017492 515299131 256777562 390382785 743101267 564709450 870101346 985515822 469567466 690494312 638676508 150816273 277414072 951937775 691715706 360122410 150109206 570669748 781081863 614344834 588397638 695274279 331970964 434178748 653680657 332217602 527939212 607581305 972956690 485330216 960271730 582418645 603399996 280969790 361651212 588981340 952619953 266203191 221417154 233893273 630614548 665257064 898740406 196411149 669226232 602237499 723617503 515504659 116946591 497416392 716234980 886273768 603988910 549840049 800306886 787524196 433683172 324977316 838822267 514748119 848936391 275516938 176474770 292309195 872956308 419465185 253443322 213083788 896909895 426492557 167403370 610895418 408229009 685448060 511497605 307156364 779664506 242847847 449629099 522089996 689270284 359111856 925010627 126713648 169334770 130835831 295350965 583679863 734325543 641153530 606796113 328428843 505706671 753006957 239906321 876322328 351829944 912652552 122882610 618956446 233734270 170281248 496744149 307978057 821797185 171166832 853555125 995539472 413293947 318986693 541090573 272856684 501006902 758399717 510979364 246504636 128908073 326978877 426492004 563937861 153872926 975651700 853995109 346293109 921940214 744029426 310985433 371919241 528834998 875447569 582127539 536532601 710001054 678775644 889754698 774515348 680720898 124127600 603704414 605022787 189834257 588226200 758471854 186610113 199909525 945681600 546564560 725790078 663374585 400425822 779491291 729974947 986403369 459933124 568207212 566602130 515023137 686249160 732233900 461402457 161029476 890106540 419972121 127601862 157655733 243251974 466049052 668997523 823493241 553233642 171656186 178991572 943024103 875130238 711601201 315987409 552402719 629056845 382267739 897903073 201494335 876202000 255272810 312843560 710668726 621423163 154955793 764230605 318626087 395931950 531283748 746632993 364650060 393797197 344860506 940743199 818864215 982820687 529927679 656501109 898390981 760535883 249059322 406592423 764627428 448175885 977129370 341287160 801606676 601191564 199483984 107094201 846547249 140601360 201178113 711336885 262663172 546679510 575838262 185015628 173014939 780584076 816671337 307321884 180309458 501722402 408793468 566006109 628708769 316644546 320422933 960989713 496315081 194725322 705661769 802096272 542456389 718205328 288981772 941244213 416373555 131083699 299945850 366805664 670381859 257358718 892395872 888521115 174084978 990024426 838214519 601997164 327059201 816210472 223107364 515704254 813908847 447772550 641380637 506521179 545431080 924342359 504358724 684539091 333483951 285140525 116368458 950387372 284973059 136204430 331008499 131427539 253618098 670773812 572910659 765492522 682103452 594012359 967423729 234061494 168211830 600281494 495562103 295494548 614547654 374271271 248358369 336295068 804113427 607998670 631107636 985509183 770358002 764327177 835635668 974287176 947797825 648386274 744959107 376610286 360514916 382514940 154977708 973419976 132866909 109880326 560543939 146607063 168242888 526386848 609946754 738345566 511459880 640675833 898006046 297657528 790322648 917546276 497314173 514573929 868746458 142090556 272208250 479908170 802105599 495051417 420472182 319250113 151685158 992072747 151741527 932369438 320693997 192531116 339476588 236478272 592830131 465211346 894461574 213594326 575816645 505666210 350550226 152431522 600019374 886477664 428728702 452761334 679054518 556184689 298389147 820555314 905215583 693166227 141625083 175431460 163915283 848400087 251077202 677736851 362592905 447423441 986608616 857266896 682261734 982665429 146309677 826816234 643819037 414065994 563114093 245177480 748189150 475319825 789685485 478095300 805178439 808847831 483969623 750589233 324994108 452055612 963414020 795587682 349250477 652933696 473046122 924255204 869125840 787744257 646830801 573716291 628668516 320309584 664117729 711544002 846677959 937362900 946027607 365565453 568132195 971403130 816131712 606588612 678285980 130388389 674191738 790172299 574707433 506607273 616369454 370005456 930986543 261279039 311070697 996372603 172674143 235491161 675329623 190737194 550787754 746831561 135252129 724680762 739945103 591284117 818941025 125275550 817177271 234617915 789872434 845599679 178331481 570814749 801063489 960547637 916216166 389043377 455518306 908751824 832062631 239683395 814243573 964665691 811776555 335821839 368248299 447522807 398326082 292466468 358491779 548263036 772878503 228173389 394005772 710848781 904699934 420872831 782147396 405775807 797857804 189595550 129071112 178473574 952031487 885509183 703023378 721132438 425140416 745737218 188378117 232786780 350229343 624448013 101111514 735306359 407032993 781952601 282586839 148351501 176500196 205468231 118005715 144369552 594419618 163645626 134524700 227089008 135126647 467084167 623832879 630230338 986687117 268181598 410043024 212088480 279007047 267398806 612828197 695402922 450156278 470204501 492423265 234796640 895116917 391601045 208735335 593323427 819107136 222679013 373855573 299540643 644436107 618224783 508838046 389803729 624129617 331427281 606409989 959433901 487639061 771672585 993347904 551200665 740088231 469663008 547196502 603243608 261856751 221586302 158856455 624828053 684259208 437027999 959816230 928503537 337008501 262480685 857720767 362154870 411784790 846863527 850004863 222273863 607063527 912412641 373185517 341498771 467818923 402705654 645098577 809938768 639204203 638112918 285189877 438003795 483798166 216316930 685939259 496896864 340978791 698157146 484148676 557931891 116648010 936229813 275064378 662432160 646283980 224422901 518112476 308285541 834049548 244218996 827145710 413997931 986777568 380506019 552495047 357130309 697037857 845795042 100977629 670064075 104061968 319066310 649383595 799692688 665010880 221719263 374748683 770421157 665863938 556251041 661167244 993721476 135162050 522618829 203186580 407327291 587393935 887667012 167109863 272099657 279299449 662112075 549808607 640391280 878570675 136806829 174489799 620731818 841837997 200759955 852172746 925331610 845259682 565261381 556647583 206332374 973373273 516011550 845181750 533821772 944032379 312738733 408055329 379047508 229597089 142305722 419640559 471785895 170867586 101425740 650864892 550836775 931995593 278165504 583858171 491951194 882431609 971365911 745030960 771261551 762452022 538965685 213182080 902440170 394126264 796659475 143177743 731707000 761307861 478531668 702174789 628626249 578200798 685813212 620495715 169508058 961568563 117251938 637271279 473850286 627405827 857287734 214656649 805760632 872622067 490433738 716970556 464694366 959580461 605958005 733996118 224387805 742880805 219050584 236773408 481609463 686244109 680805849 769677930 327677547 840948308 114233546 130840960 966883524 271504230 184377080 689072789 260558300 558210889 451681289 663303199 361224042 229343518 723938551 410432448 277312221 716547332 458184957 406181646 484546974 906753312 437910143 730709521 630049556 414524357 815177312 998557772 753034982 971207235 726503439 390957726 384741519 599501443 104968783 489801885 129228077 308378126 354288787 855568679 762686619 904826607 483678171 586054419 284866023 990731789 261354830 766140996 228333323 541869508 540125594 345413709 477253590 936874558 140267932 431721818 568351938 337702647 215544980 584614143 312931219 321428763 833070868 349787723 648276352 284493360 173463264 308745418 703152850 455573219 265094967 585380264 590361319 964574953 457473268 140791799 301730472 134820938 295060715 587415058 925093687 753890193 387931743 129324264 588460785 434313807 320372665 659863657 369520244 129593032 876629665 968652681 686237481 429555463 947961514 116328478 881754119 384628707 272582264 883658644 825264700 505807782 438800865 857142916 932900260 685116060 906063745 507336247 602994598 162466593 999022706 324626435 535946411 512134018 312768576 784778052 781167261 274339969 402174963 660511455 439165925 921313761 326003027 570169370 901427198 511039961 648595462 366438772 102389547 322447176 981504157 291063171 431900926 456273979 490859409 827360285 708914833 898894935 687444260 273540144 227312982 976174957 429472857 240065900 450338607 704161659 750105403 473854511 940260440 434940509 722418532 799684440 110914018 625020003 898720186 939396506 632895682 615927180 655787263 880815464 943251661 177822151 170548213 437128015 399106536 854667799 679521355 805378805 765097655 814238632 606762600 156576291 970017398 949612034 413662070 955970409 319729300 753184786 466191979 794674595 195202195 438030389 653664369 210010759 406870681 670030802 292843104 766610148 183179835 907366073 756665272 346940766 239965107 409610888 738435707 665669632 933961329 574940895 821211928 833043547 909709993 896711962 101021048 349792676 831672236 861409527 397301521 896190089 973845576 129485716 877507135 358042153 649002756 329074220 604681501 509304764 496862711 579641118 655052485 423687582 305564468 457472206 188629394 935336755 181653322 738918925 414724356 363549812 923420024 454844492 269350986 106591119 108714422 238881266 537925206 735737865 500486758 896449701 232867047 574449689 953114454 485573597 926213101 751517257 792320915 407404058 210996744 585691718 534090943 752615213 590051057 178375425 829318191 791436261 889811652 527125072 348792673 367242082 967976242 825936869 312120610 283648000 593298143 594011662 603715242 422642360 805690126 188923957 641581094 396670765 770056774 763933631 978422097 450128246 808943322 549707155 973946791 590017200 122842343 798709265 670555289 660855767 474093525 901443850 791638923 711205186 940771403 541434252 700210301 919773978 441941311 649359925 933371827 763743399 434664411 780803237 963522985 988258079 886653533 831868159 708114840 631806086 168954263 259657679 484648753 703866896 211546220 305880823 857918224 319762293 991399259 138919206 476883771 798422821 241504510 259998130 373304597 345449130 482005142 135041362 914391588 852379537 929599402 233024781 529224039 129762664 782804005 126968747 440078308 677658439 319163901 623107011 498355949 364461971 959841004 593697770 804799859 939362140 526605035 186697230 330058218 490776815 627751107 922773696 903401345 763655868 427678513 697091642 850023274 713953157 676975119 676276267 504396055 323896208 127573223 268736862 939571029 605498845 778044384 860065564 673896403 745740718 291773399 141156026 899383279 351125191 311369949 105348911 243874707 826117024 501001521 556032662 630277203 100066212 868170890 126237743 284134573 158591948 304445045 571157507 497061866 786447040 986979778 766418119 356886641 304310032 595044821 670135139 975723932 137395377 718100543 548026800 880636031 955997547 540382357 576354069 153395164 125093409 612132859 580414486 844346615 591240066 112348387 907430798 897470776 606690436 920631834 677754060 762202592 528825220 117586990 459682071 133285353 241614862 106264314 783331315 785727881 214106078 967834826 123456470 623884924 177456433 255546107 367873120 554543076 546450554 423825904 779244626 481730023 903618475 221358035 746878095 377130568 513613531 572738526 753688975 758428953 268971185 637504512 975941703 979826730 887362359 297867920 252516451 151675283 696831632 156672556 988490095 543950273 967324087 499942604 745862717 111687600 433735720 503124562 692806416 748883812 150890895 783788630 234944376 587606452 472837704 201253633 708810752 674866290 611978839 442784089 161685946 212269343 103329049 616324414 125998569 685591485 452902741 307413312 446964486 280467961 912539317 193287500 524593878 369561240 877581297 494624991 186981056 353556344 651345474 887683209 855539503 258431897 627206248 721593775 233556662 343989651 675889411 882454130 564551246 293415865 256857994 985388031 831077010 577460713 700534186 839915128 597312316 115868629 361727068 475552006 239614391 129973639 979720938 668061208 951962401 241700809 240663523 787400668 369755292 349820643 248573357 522633109 327225743 669256488 881276372 735232539 376038355 623972240 522281491 169997530 569230199 229699277 281147515 754547584 273689901 512732310 373275487 713210598 932321613 487706293 568747738 294044616 790781563 589293067 758402503 796773073 132155983 162507254 491700805 580681705 712942727 373538690 526607812 252167038 128460803 640483007 852760236 545754128 158508897 390918872 738023475 346378483 139431689 303672273 497521461 278595819 874466778 625315648 627144317 849121581 222778009 631128536 879500869 638553088 774454543 724012147 526345321 793090203 383497931 168704630 762944328 649563801 812676032 168032306 923884434 678729817 110966789 351326736 633133149 304448213 355231817 181551827 857896145 158497718 594383920 918801254 234915136 295923522 226569309 766241403 740301286 597193842 691442793 436181675 607481686 653077465 894312097 190671639 384220346 524734034 813065668 488232819 528975304 250944877 455997769 634536264 847843512 908061986 380937616 592192775 932069287 742120323 167722237 727117598 966343882 454464219 505188983 938282195 360611429 592477476 473392382 929341505 675547379 498130663 529567078 184130787 615376236 559359176 366619950 769762842 720978001 755327941 629152319 867005246 471792796 919599303 119521239 288224357 445200263 994844757 798198956 895785777 898610169 897607700 154924135 533341132 163755021 695358809 476724092 819526267 557058246 901804489 419231879 945720305 460816463 647652575 373628022 319320180 496080418 690164984 383919926 382951805 686071751 647759586 953575904 786757148 786863985 348203304 332189027 535389045 943041553 191251862 233679498 589051302 149563706 483677344 868045443 866390896 883293727 557533592 380570665 804651161 633063705 168538942 315866529 333155815 983393770 361534166 652425435 510538712 467390138 851018221 681625996 465510958 900571202 990204174 633315193 644508075 942076229 189644456 737080863 431046910 638024401 641441702 364641257 306909244 459650706 946563847 140024749 761826807 779688854 635036361 530358319 610874887 738597047 292261301 203494002 196806146 856790168 767758714 908009311 487301903 109250481 286433499 628079519 275855591 894084655 539022233 423725718 422361255 343453597 695959695 509227197 405342320 858429268 801016002 137632431 758090744 309685351 724933364 391273217 237729692 172055101 928014466 986399058 823285292 493082807 911842732 472077153 761511767 777076673 866871685 348634870 902320325 621592895 600183719 808244274 811789962 837627054 541651524 667701182 919670864 581665828 484590125 551919789 733119667 562320912 878807184 339657236 788472470 670486438 146551774 740097836 423430655 344648647 190882488 345303669 829425167 269556584 417205991 266225428 639174335 410615782 541611174 950285486 987984602 376333082 978097138 739651474 471573421 858787688 827553713 324533247 960448041 941182512 531952593 162197335 246808293 634381743 908664977 617314285 548914387 546850870 687697545 811896666 781126559 311021695 877987277 902452890 931466369 611691235 287549953 970224757 480463568 593035334 993200929 392151923 513729032 950017208 753690808 657297349 267035167 503314491 425347336 144865962 193331049 776628893 688541683 700789969 457945832 864013902 226123337 965065394 627948892 142437133 481474691 327926727 600959827 129150003 134891287 804007147 301651999 304433904 501907935 428044516 885212258 956118454 566904637 409407565 446069401 242070733 280191673 666441152 899012273 734357898 137076963 234435113 809128778 252585208 988425146 197140316 474646956 418488970 497170874 303663403 435819770 663028223 134109969 600127348 245042949 283762035 601021437 238371425 768203913 685173790 307595904 365120910 729308988 852389841 669291188 190604682 868736792 588516343 732224693 210403755 473218944 895257698 140552806 535579881 470161421 727253382 936804658 527135221 711958229 869098952 827491710 652497136 569091095 396962135 189174019 691969999 809587519 788324597 806711390 650697856 645152458 357816820 880416291 704156948 829726726 153289366 740707354 548302305 912070247 228970483 854948582 847802972 439530378 362666784 460588020 998769423 891050490 205076297 108620115 446743668 883714419 413951452 795066049 147177817 617472048 526082538 821746867 922997652 913973204 551448130 463883629 625388226 291079593 907084767 227608918 611719969 900131886 747392261 810526525 485540001 183664896 801432999 506831333 423805464 273825619 332123874 150381755 627261548 159518612 457634313 337312949 985672355 791936791 955650314 571055856 699917255 504365338 980279474 571240254 796723849 407766892 928894662 875058521 544787884 172697693 753200986 113130633 652723898 862033021 447921891 495610662 934169161 988802269 368573118 249873351 705575873 752949265 941806730 407324608 290138152 771813100 267302172 638666022 570588795 214482439 665178187 860990939 747283082 964321492 860783645 166961956 179559627 997775155 631447330 544992948 503885351 167783973 942228558 805219005 589454199 971673542 772319012 964045066 500092870 904912887 478016364 644334080 480593632 759340187 217017479 466447932 731662880 687631640 265621333 132418219 969076549 664174267 929730312 463161772 246254790 376176885 422625176 709785302 816368978 541167811 514524975 612574726 871661258 489600690 748051249 549720848 725535828 569208505 771509401 659966417 555853919 523339985 318100551 786627200 126227983 358370912 291934990 842495906 928507861 723283348 644006114 652208780 697410801 657844005 347995901 609079360 820454449 126136141 223540339 165139548 136460666 799218463 458133604 457777921 683378916 504578294 980087973 896699365 207236367 172225107 390445339 481669447 585425795 997812833 475408186 678434816 514290067 856856254 873127959 130785234 723171855 455461642 721962867 252443159 948589733 197172421 423358362 364507406 637973255 223910669 988577669 275701380 865313551 763755668 119251171 742896461 191042121 483423703 168274263 183101851 793522747 827673992 308641216 188205501 575697616 836609591 589796229 270461092 501088167 135026244 470269633 156310774 475348558 688416032 643424235 929505339 220689835 866825530 930460326 865615699 548263073 454533096 735321039 897024642 258109626 604767693 994402729 410537096 325040583 318077218 850995305 498525445 834379532 820460433 892927796 537155481 603527644 379325537 954567845 818726507 926220859 145745330 805671518 610937265 344568764 126004212 738832553 990640210 394498132 125709612 742529754 308843802 149548170 245271780 222671429 203996562 367168532 312301215 405694768 250465444 646608569 465886727 187985465 396878520 142068204 831610908 977146417 547037094 508577289 580871863 975709151 577545504 873539070 236769290 120660272 208363387 820711599 493819377 434194542 270061111 377315013 586555980 649896089 652130253 788486941 810511174 336534558 312571932 524427289 575464886 679691062 958440356 602059949 245508571 965637645 913021911 462134551 699569059 422313650 835903520 464063931 589069618 497296573 973673391 930780627 749991862 827750777 750029850 950738510 330646925 847290610 704865783 331461938 392050447 158599999 927983569 597736787 883687290 857907759 708638342 176677693 676655973 440857398 917431841 108574441 642820932 272395652 203423999 211617679 848515410 990833908 341111308 315568527 295276282 387099690 172917892 856390748 782483430 431295424 884667256 773510969 890111532 289418638 288373703 727700792 379624733 413216002 606029166 444839867 521933820 712989254 863991421 360635663 972941602 612846444 266870259 436772174 463763882 548254868 672517955 494725044 489575590 978746029 598530118 936241414 786788739 938304951 918985028 544538696 427900680 890171499 349866381 775617651 756094839 473946897 924287196 212523353 924734659 392707698 551823645 204667540 892274337 923412389 821008768 638627530 606109760 922833628 890099517 682128038 514263502 627481198 450586635 744871618 189850626 284176950 502322373 869440057 843966774 989665869 214085716 931850545 197291052 784550575 550931148 200579705 185093094 771937732 851733876 615450555 912585619 162343577 628460812 540126380 951454267 964042637 682635919 868177777 241788026 538479850 832850270 702556648 594580788 250981405 632086599 196163602 727128223 187637193 767475482 539843046 501598407 182237131 724830897 372940140 499284165 801094410 943159460 268246405 470858857 130416485 772739684 386053637 754623217 899022272 534905731 477257643 491799363 354021886 936595712 346657684 123408531 178403145 791042523 975177456 217596079 831153761 711746817 818503529 337158197 327031763 285651854 218496866 104935995 869010498 131017858 424256515 825118923 548472039 509593113 343666698 809267159 588459756 712472861 186981003 929336250 830368427 857999896 198763219 231938821 230389810 485707983 259916511 490647476 341453661 502193933 761341453 360895446 876978812 266984500 507625419 169189494 994633151 458727428 871913366 377574169 758174788 465274417 987794580 666541074 587223306 834713116 822458448 210629270 677988509 344061956 424744111 590960117 704249270 508417594 867575458 357980443 608483006 633317168 863361657 219117693 379578667 540533309 972735465 563344888 981378550 684387289 126058313 620048848 950874009 382083420 622155884 587623413 380866093 382801815 508560761 761294889 217734732 936069491 749979644 383487135 237578139 897265535 319060685 221071460 660821249 753742805 905212928 137495939 840907126 691103471 670923570 677966763 388315772 142534807 990665581 280308072 825350622 398314597 382647126 639278650 596882842 972009075 515618657 528407939 930498132 893608498 982605847 235358529 433687199 276758365 622998326 719485410 908945113 303393584 137570245 586991916 955549661 456703752 616175969 597549071 977487134 135139943 723315977 448989854 335089786 943118829 804243390 222483057 974289851 699903995 459243772 271002840 818123529 620277064 429233056 798911669 334065261 279548244 722293517 134540161 473278327 943925550 730995476 526389911 186434875 249819982 915953301 273601316 664206061 152441115 634903645 237855223 869982700 819462597 101814935 512944185 310547327 453514148 839008598 542042510 815073213 484634907 311085090 461342967 900745500 988972304 232734380 713192451 289095151 369193301 898082248 924073974 748232850 605856393 438807179 253947559 644530477 915941559 795301909 649429180 110094879 432485858 231518358 277088775 872749020 808443832 329093000 544978229 171225587 369917588 966398908 359126825 694921219 743859178 309030986 432481175 167436028 883718286 774288363 502161448 744667815 385517654 236367782 900434853 848904893 658659091 454293613 294053554 753214584 145066877 531447208 979539638 379565137 441432032 462712445 810932785 872266360 787330696 753151420 234695232 128493577 782001292 797869903 261602567 623702825 120152002 864379668 937748335 105038384 700035537 418697498 918690874 685286678 758753640 634100642 189409874 449604700 617480439 397407611 735704496 666319501 543244974 386209880 148983566 598461079 950023468 143366893 156108157 780811931 450803836 104339825 917637101 315181877 619555874 433146710 459750990 565878418 909257307 682274273 583359090 841114692 470201853 255536060 359973102 587837129 811205537 932191281 463295091 414149804 115517079 474475752 915043763 987288331 401553294 551000085 876409749 601890623 705706476 388475589 949887574 105901711 505728529 815343118 969735493 180005487 728423759 679158019 114742832 456700294 834843278 691622872 907937292 672290308 369277030 183099698 423781225 734927614 527189483 407341742 866131418 298814070 468066855 831343072 923917186 755623631 513854701 617587681 625173397 650211433 205367135 663530135 685960591 766847671 964020107 155315800 880681387 659253713 764060724 692052475 330933485 296533325 866371598 462827240 625906418 130025035 757379280 480862608 893221514 243930121 811059510 860100048 873917604 168770010 586710247 278430128 449027277 636609568 404145555 672232149 115744758 280569884 456298815 100831657 404707877 245593284 819782552 552623381 979774984 404862592 332168223 823673933 418463679 786836874 204644624 379167089 184982805 806579820 468234148 247307016 338737242 226441380 143152392 339265785 755523971 668463891 999924080 142774653 478111233 416722917 486198410 340463536 863183736 470936039 661382558 839361317 530546216 431565649 869338322 311500901 791442636 264690296 888113360 501561325 146396046 739556155 410188936 713064615 883953634 661498519 942488584 993336920 440467799 241383825 649503123 275310937 327046953 302380190 349410314 695743641 583385958 944508035 849822700 913786324 136843725 200604959 239720877 467879675 990919094 844969770 741071712 780537606 795589475 352430612 384872111 330478934 771566750 152639585 558157366 651725455 494115476 866602368 690370080 279281841 451093909 510275479 800429116 530774741 240264064 209346351 728185566 164741261 853615843 693037087 682102495 710761050 643589508 566559618 557561415 681097893 814483099 397187697 357621706 929800030 830411568 493385626 981411656 258421204 255290526 708638494 696182567 917971381 814658923 478722693 807524932 206032371 388726718 367953238 971660160 431306830 567633579 162602351 532718586 857512273 104722190 619014492 318777627 220707662 364992565 365206117 724116587 792131952 495841778 310143167 155410016 237546154 205076484 725024344 533649782 389787824 189557289 184250873 771360983 427701526 757675615 471875437 606655399 742704752 699403623 867051102 883633188 542051362 371721730 338346509 352172591 855575825 797855928 908559644 553514676 288847622 191324951 472781401 432203264 172373163 923202062 885663093 670794920 434397720 948655561 140377689 218284739 286312719 288878401 948194861 227641852 290522188 413635719 314300349 457795274 526738759 942566960 202357356 379344369 732439223 199541577 481302326 982559262 880414556 331078759 389392949 808216362 446488517 935170461 330918633 503286439 289931664 219047633 789164350 296729617 764065111 875132396 585942106 189728250 584446126 794773051 698293714 588243038 414503283 235192402 951034663 292028988 377567229 705134104 580368616 425238946 555227182 784077817 316280481 348931849 764399882 657785278 797198279 847774137 659635159 923477943 354972957 163697260 902211697 199615630 593026001 180283535 239164481 610203438 362812030 104661591 822649682 278882503 883310276 773996582 833972537 629823701 675847507 674717946 461036094 100172929 571986528 663450887 283848360 283293283 890860324 876899818 138314487 129536925 840513781 623590020 732109291 586413191 665330152 622350138 204869410 496919080 863030596 778474962 179855577 736604537 608659641 604957869 977806266 517986458 822655635 880282942 682451678 971555053 197612398 168509066 290353455 252255552 821607252 354201580 999139112 302133995 121077759 776838470 417824631 607173213 736072346 625558997 699903958 426526909 771295084 755823631 142141294 132595489 784260585 844147541 689817133 536735881 609758478 636379677 578143198 536275899 712299739 740742982 253822855 516010197 814519848 310113930 588131944 752740778 402473184 449749713 957334647 350563426 956992093 742146528 541679121 637295245 612851033 274438040 531548694 547940329 733422333 257361197 556627705 891880385 990977270 801961174 977408882 696102876 675175968 320332882 383456562 328418349 912282953 413551390 338411845 171145801 219985279 624370644 133081063 599384562 832796004 627450778 847325889 825233823 427171361 503608907 219122515 181229580 824903013 938150659 663551290 278971613 783459338 897614272 875183989 878428139 451008360 861432908 264642347 814641755 349999595 757394096 237946672 473912664 423256140 831133613 756613253 499859263 210987537 977061998 161208145 683021277 957474495 188942559 886573161 954700541 207013687 152091603 425831571 508987574 351576835 170276022 700036749 673026574 867272418 714254076 298239445 327820940 507693189 101790696 570691587 820952106 755403537 734365484 216316493 692351386 999505170 508570954 898526522 694930317 552889412 204901178 453598099 877950153 586249783 836597654 409385014 646690123 870543519 268467159 150125889 168939791 802561161 885266117 743882573 527394935 496987018 366955761 734535637 276384683 671581178 969566766 547651538 364594722 792158818 288643629 804946641 595759013 901807354 674666580 332345532 149531223 753650249 132195758 221313676 598769684 165008346 154479486 349635152 866542755 356077953 393981615 923407094 339413342 345268414 381110504 943652955 998413447 545443380 959960988 654767499 740195215 690295104 640566015 617928660 699401635 875317834 694694620 509212023 321345838 234615920 227269010 797874510 198840781 136433698 258293538 526125988 227195598 986019187 404576264 973609407 681448475 272656542 414813536 170299114 740728309 488124662 150508675 667373415 220711036 365386019 922198169 340693544 803199323 360432462 203841164 997933018 163707701 902046656 514150509 419109822 821076032 862762275 390327393 949420352 986624867 702929186 240497476 174377126 491403778 411941617 958156132 707290798 795873447 544751054 344130396 428196223 442603764 223123458 740764626 810683218 711857621 784745118 712845578 929060956 540888628 570641179 220629295 836294641 550463869 176593532 858223926 485653655 135508871 582766365 735842766 409773097 206877879 354806849 555145433 243469616 316432379 933734488 366011866 805682666 181379658 550892379 779483213 665206220 692395396 873814695 154544384 662545452 193986937 346683070 235577481 605283932 721939305 272433566 969545224 320079801 373573193 284356464 914919181 293812452 243831388 215954794 282055351 278972359 366895104 184580233 316956617 635018483 395038729 118724454 539793716 353682998 445046576 639287116 680933292 597043439 224502371 213421139 530250825 359420052 477865626 297564976 699459606 863292635 871421412 865524564 681080733 751412312 720905127 561043020 632780276 714467308 787300453 736655508 158788843 796075021 726635961 965240962 197095142 900614467 555577258 483962734 430462776 749025786 968630037 269198981 117278371 117315540 146342443 305139555 455224301 153728395 774800048 702944713 591409082 874774226 289914419 814765794 896793010 392426944 484200018 335715926 490364525 945629581 788253444 336322206 893194595 835101734 632703180 277597570 668505743 165506065 106390796 143943966 279355522 305433545 968398380 909089594 181786018 118723002 368715378 632977679 172483556 471579136 835438421 484005774 870838966 924961335 122098648 882779036 985529773 105459206 524903336 675515582 708984259 393014608 480960726 809466516 585233384 316028635 342159034 858024498 513463023 100482865 426673357 489821408 993882665 656892069 804444492 946601070 564309546 959400592 727356417 244809856 109373880 307876243 975573206 364946161 356390590 859464068 504165698 511212426 137541891 358463331 688146315 145383162 523482501 218670198 989925756 326645263 468560833 713553778 852297532 461855602 479044648 116087557 686800952 907556284 499796241 673246047 231659077 399893578 551197049 587947004 679273303 573498003 799855049 296111102 485473221 905489578 671354065 860669548 851060811 192532532 543101875 401633569 589536741 778018730 556891694 264566527 343261748 503016325 210867941 761853585 122881258 197936386 962925739 652351908 784461318 606456488 950637536 803156094 191566890 383059790 679931514 538859529 291725810 581149799 831002114 845733074 642544129 528588373 219608968 167132188 784488703 205160457 613359426 113155899 595013700 237434499 469077697 889956658 885117683 348817382 639465485 490890501 609044916 608318199 814218501 567150349 291450330 421778922 866009109 967662179 645824198 698434662 576269667 578897076 341217793 561211884 864844453 399875330 498573492 862174434 835251844 121256880 675166328 121695424 122528407 928910940 392889640 137338671 852454560 135677001 531317487 682113083 395881279 788906932 349783105 576821186 845255892 846138836 502145337 805284721 701864114 250812715 538684486 121037654 143384811 687766115 661488812 752881195 839921583 193305135 978773032 692851397 287630070 693694540 800720183 701034699 584551085 668821047 448569011 211345422 237512845 351093013 527906143 538563239 203707101 391060832 684176349 596384890 130053564 711266710 120635302 149174973 396188718 894752518 131598988 950171959 983081818 149051850 556778581 451362221 389292059 441171665 557056906 765006186 561614501 895823767 852638049 885706033 217793612 580171453 774212637 196057722 239687215 594354855 857941688 446186504 584037347 749706870 260835433 505072931 209957755 650818958 549106408 655689400 207094317 535673698 656343207 434954106 420617824 446828012 207179244 588152451 719957604 492649809 928341036 985654035 264113240 109905338 536805653 482020807 542944178 322071685 524965215 863670675 812656303 481097939 493429219 736707968 357441848 346616165 995591656 812336214 573079463 315584458 963704224 282796921 338718525 866052347 497012161 391033632 873589285 860041344 314473762 999835396 304129065 142196503 278339784 545681711 302864378 827176303 838994185 724455707 899759085 384716217 222078126 962038154 457127334 982797228 488217328 717191481 222174716 897760184 934444235 579685246 124264484 444968609 696783529 685831642 980896774 617418339 770965481 789269711 517463228 480831621 823412031 956414932 477256863 433970524 333456249 409145521 178954707 540774656 138593720 354980139 850719836 877775535 396432155 390669161 478819305 401357564 984565665 420545851 383311556 528400157 477501495 687187581 478522652 790325963 181327050 306621078 913729912 644302233 843019757 263211125 525371125 244217164 258210088 350688050 990936631 240891709 318135849 183361727 198186394 340817252 701165641 361924966 167510906 148454230 170196082 554412685 644542834 782638152 211423480 815517482 737094087 841339964 492327418 875358368 910041308 763958203 719621685 969378864 496479829 309382767 740896357 618253139 258077456 527387085 679880924 717616851 565573224 491192436 653980632 535745768 792688886 215488542 279832452 239905320 530093015 276117334 305409541 440180300 197543985 722818526 828603843 323492133 270696821 176568021 382450981 182664095 983598019 182927020 923847083 612472328 501607072 702635285 441495724 858522064 283992142 700343355 385127035 372925313 578964221 819935622 769053965 820088204 233388640 771631425 648540763 334448276 595705083 958151307 106121843 133401208 943054142 145491518 305757064 441684327 750778679 848865025 520117304 487762548 548940492 307260437 282374186 213408394 482333070 504447034 912334455 928606069 293576423 104236499 112518426 754226138 684461200 638582384 451628407 665852712 680337391 716530873 996040706 467889270 442128811 491393598 297619986 357237685 255846597 106826671 662615273 871107591 679058349 477598988 204704136 414809443 528007977 253120535 321310376 827912058 428011151 479153159 698922665 831100568 665475395 514450766 567751266 308043249 934809630 430324519 962244920 234720337 599488353 118040223 701788279 448321911 104116716 747578829 201125734 814929902 775125621 952936629 258757495 749524505 680139668 225912372 957068074 879628032 965496698 775201094 909579782 816114836 613836124 997064609 821732418 961028125 276617411 626250711 798803908 111534037 776294301 682045520 512596845 942838263 235810344 735112504 455537199 615974639 734509343 919090493 269109664 274377806 704672655 978543614 491314366 912744554 177944055 899495148 358655927 277916758 951759110 362042679 404921401 644026606 982204555 568337852 191016824 737279407 972276261 624478479 550288738 486676253 596218235 612226992 987305134 201817037 747539806 237315646 899115345 913101430 387958529 368041037 773983303 431819338 191534177 996312602 758743941 620163778 162301986 762886575 581429306 468648670 924145316 902982750 388062607 771740582 350161840 506843848 849898572 761470403 920361882 190955236 655984510 491345101 254277925 988914607 544934011 680936243 208011269 893101294 403754094 531461508 694011395 328209088 662440937 757253707 743921067 297474019 212793132 549434851 755247955 779335657 921593879 519639730 284043886 605879775 472662578 264997992 935752084 955873705 616730253 468411146 276000942 395035517 647544413 447872035 420326227 654969494 955967395 891534743 510816196 184636707 440581117 922543791 806008914 880108795 110402694 300382129 335885723 564594560 618343885 355334336 922978380 241474814 261721055 807248903 380846954 679610361 959267230 998463760 307306225 336183288 175101293 474071788 951374568 540544099 449683435 313165289 665790705 415389058 211234961 993030828 251430553 303860800 915687195 673341488 489240596 176610703 557574918 728243879 257418535 309691367 707752295 828378079 489441800 998360411 151672986 473913248 803001769 574678718 733607851 678182317 903556659 256151865 169279883 162106005 946173030 231992523 949350994 980902564 763552538 172973177 573506778 729640403 919276371 844807525 406869950 528166494 394280366 829179582 388759349 631184457 476862488 628467081 546176383 227322359 496345674 117168391 918872636 153837277 526297939 471472730 862020257 882836763 885303038 953591443 873263342 300795102 256592076 224171000 511874858 728444248 318047144 456831911 232693655 230538697 378523595 127203129 850274941 228845625 367649769 969549986 785889310 407410040 949922228 255146157 247033953 950976052 165593762 366043507 313174090 423593976 460727675 521322312 697153814 668352039 598166253 754053796 771947649 440462553 533328847 393747040 424521343 230992877 605055354 282389521 752481130 506344215 286517751 854663657 972134109 532982198 842530165 626347549 416272956 867753092 868083613 856145868 411817422 907931589 823615078 943221014 625995488 151021481 721281547 154437423 480324667 429733809 129636342 849393301 662652258 497844172 826533399 930044242 716568876 755801584 600700971 125258610 236797786 877897309 228084856 292172096 899367861 245988215 735530363 409173582 514476309 540385077 730115628 332684168 197502783 787551398 395998364 188969081 159626648 877222913 245338708 979978526 972038906 457201286 695465487 787472771 540596101 436026848 894303256 620913323 517140592 787601533 516935469 608785378 592273607 320039353 606794688 938647774 198357081 488669450 524578886 111592469 124446406 203921592 799729626 496598054 839265460 785507554 377941157 553869100 353772385 308102405 601446137 268005320 296985140 703408216 996411153 372857966 517898207 856605938 725503259 485773433 700890334 185203722 144907440 520939936 830009311 452085881 386676089 315215153 353724940 243530036 483298252 825861400 983772020 888205441 657676636 177535249 224922824 440364974 401343033 178937814 847449744 636698668 848971376 170404279 949366697 415237888 639032312 432462967 421397320 730023144 143953628 715739914 875305268 909204621 300862121 692145557 946264176 448178659 181102554 440527745 535825254 899849036 604640504 126513169 388592659 830297114 808730125 963992490 633851248 278803018 436276644 710449194 643137964 785873832 254192671 398630401 866565921 368827015 390531234 944162736 844226456 162111475 941764130 919108709 270583195 856178934 166057515 441639004 198236112 530890171 998814013 169436056 943846448 577199166 989895054 412627143 986821650 918695508 953088413 838325784 599085012 414592040 218168701 857924886 629140276 408515320 611269440 952798795 677914011 497431102 471254814 880728261 273102535 663591732 136603740 967243070 825732612 565805510 872997648 474327546 541733302 480472630 207988263 426048975 337622061 480139892 517690651 552630280 488798403 124092809 287122160 500789208 383463165 207433211 687631319 508229848 179788551 260116173 657129849 430770384 436092811 424968428 324285082 771766729 285267377 173978106 642264623 461391356 296302660 719005435 334457547 621290857 234872327 264040825 633792410 741575996 102866389 334179257 700429295 155284449 356581845 569207646 331061810 867736819 182339506 209983967 898238399 442475406 943679207 430375735 666452012 775472967 450357621 461688308 805186021 393023103 369918905 270610105 696461779 311945973 776161041 165647653 579317357 667660005 341623914 446400524 571301484 858018077 847307148 404035456 982758218 295459692 688712924 938583404 215373173 530441511 364151080 882506521 864942489 541529374 779555705 805265662 667754127 698358811 318011046 398933310 885719970 597675148 956550942 427859173 306161415 591642942 399365533 817582297 301790208 740414586 991319754 861116999 227241187 633812765 708560457 981128311 665429858 637826305 625332387 849623947 882455600 492555029 642859851 710423290 330342316 421570039 679047184 823866214 502697820 618561658 325805541 748245160 562999041 238208945 328696685 912542388 272348740 937329359 656182966 374866411 173572683 212201231 620980014 897282964 580578582 161797453 211104906 669266903 716216950 659973072 645386391 851123956 975772089 989391391 111532263 861604765 904935585 688443475 799796449 286552370 905746767 354157213 545362571 640810264 150381593 636495692 697535454 376878144 889989893 258594818 494135009 392808009 612477299 796541137 661186264 131428492 381248641 440074434 834621105 274141909 804564148 878377549 247306975 868692208 652339104 874511424 284612095 218296825 927627566 601512420 392128238 867638807 221207512 448976540 655531722 397488104 129262996 393600946 700188631 509708537 389799225 487587767 656525664 163202197 166288067 514418754 584167925 225180095 842520586 996109933 787266428 776946959 120290338 122677104 581097224 484353644 384299788 892187286 660870547 625069427 290060048 268624660 711597484 607642159 790675318 551423452 608339832 551940402 991124921 678889191 232992682 122520977 914240247 384515582 145880413 328293625 462742049 561571262 896708755 209875412 231183546 100615349 231375214 497881699 353606702 779115008 179410892 478841294 307091632 724074732 892843490 586241188 240136111 562012502 880160317 403516971 949118422 913369844 219153006 113348618 202944325 895641771 939702247 342456773 925543842 858844056 313249688 494586546 972527847 521197366 254484241 384571689 774661619 199854978 338880869 952396845 294791258 728756795 256686797 247629868 207024628 454267245 242093820 410374765 535065431 259381258 649121465 615190365 106088620 756629475 731522683 617361677 668547864 434106770 719627051 531283514 553414321 265458294 337948703 933987334 841791345 678541990 202263309 100311067 193838886 722870519 831764791 202254129 237092279 532023743 638703916 395555618 782268872 348919067 979948027 258100576 530517158 614342797 921146656 587995087 698090543 183021783 603417998 984229653 373540632 260002301 761478774 230831077 441407956 259988099 725346947 817395975 457412396 838288391 806098364 705424292 895425748 957603275 217697032 968755177 730282732 947504637 781819181 216795236 222268657 958529147 678436396 388890374 180162160 944521912 775603375 566991407 858901083 154463897 599613087 750723729 448938763 240025152 415175933 149290589 628011250 697247057 591291328 449974482 852068827 247628875 925624604 545243529 637734701 788763814 455299377 416752217 462607128 152543932 921927179 225540414 198200102 839826687 981659056 463514533 223722836 300787309 872021818 565043943 161047538 490968183 248449428 380974651 135125951 295851349 595799272 405924199 704187963 982727764 127321732 311672458 919113977 262880929 917256371 182269961 163757245 473505273 338633188 940712569 225227111 474496620 116206466 455004504 176887967 552573492 159396877 553308467 803514841 294095128 410637181 721434359 706706767 934909891 552075784 202322332 193158101 328918573 684013510 376653475 462359769 797030193 837045269 793698060 842776816 577618086 278945237 453247251 709579013 851474447 422927045 682101580 553457749 508561874 594357460 297713599 473279803 369105909 664205114 269694817 668797585 494611405 150222508 680729848 908718761 747822148 293609692 415328578 669446093 162360452 357286612 172895072 940756514 599208527 538160179 303365711 502624664 372231698 220802421 199743953 234702149 598353407 488861699 426715082 978770010 697086811 786830016 932852723 638373500 979623197 123007782 521121935 843468773 254249115 204685664 200619844 430709825 530849129 762026646 386987337 891236067 509603456 509993483 141029027 633615101 285801744 170535194 154070135 774670124 100176118 550944267 926052708 926253471 352910081 340479141 969634913 955754662 857537615 502749387 278201712 528368955 628095575 495715830 232171252 365715922 418987405 436088039 828129485 958390138 253738148 338087675 553803361 687477705 271733043 853613259 827239368 954557518 908452860 329255421 811975125 681200239 343765743 276759801 677821544 999038525 750059635 890324630 778158121 604785564 459802446 165931033 439513602 539514016 441613062 361816239 530664583 956437133 706840494 189601831 549996183 922677436 433030310 180446764 115351857 897823264 540970121 220631809 673152254 969575590 901917522 318821796 962725389 416697568 593808090 863214992 768931095 876487569 468871604 706579775 227659310 586655625 553436331 392457178 636560732 274501634 453850430 784749133 562941341 268608624 886051004 826862484 249954812 960103437 871943742 792173830 773034997 989665696 222097662 571251640 475993278 620973047 979274235 346661543 162441797 301499493 154624860 899994405 507421133 680294813 910898234 793997585 538907412 314594950 255002056 985127893 455544989 875414448 968541936 610563150 440632114 182869903 888736718 623319319 479694009 126598344 372590649 827441860 455040382 616738534 497854203 241108867 698597506 317710935 568795812 256747899 577268838 616681648 741914496 854046529 241395554 220604082 339695575 928592447 519409623 616186361 300506038 498694050 511996892 438969118 241858875 673379948 617198742 157617528 535204020 464358167 668369798 935488240 729839941 321196919 132212202 902826421 860175965 646880061 903954332 392200960 845214288 303805454 621173093 727072080 761407141 135899696 907734769 317845175 414583683 384318445 696798537 941077065 824674645 559122552 532655853 656771823 985419761 485087225 276548943 969158427 306884080 646958475 876939247 243738356 144637343 960965727 580616341 339900419 184453208 942063781 202447335 484515116 701095095 574486788 867250662 652189359 525754960 292917976 569137830 704187494 482495653 318535322 192750020 685664360 345864511 915632508 802822246 933693935 707580474 844732863 675450507 290520010 539247491 387782706 242975109 144207204 810457637 124689718 349739477 661314237 853361969 161369190 937175120 598829637 645151205 267336745 899044379 626486563 544355594 701606365 996207054 272441303 143136625 541326151 296704074 731452454 387978219 144036620 266888600 780078620 245914460 532048102 343835350 956040802 390910298 636101434 815218050 146031415 577123409 529647273 686272419 207088261 596717172 502110034 995513310 744518945 529426002 468325292 962561798 862878987 564302950 836429362 389319958 561687010 334597556 876902817 284727686 900760146 756134917 378673959 346598487 704127253 295682953 818421074 313972315 759485662 139203667 222593295 166947845 230924665 361595107 742746550 222888928 914482099 831505562 341805685 933593997 473671321 575525475 412959154 140854592 453698688 342834332 924886358 141309285 373979309 836120867 925235954 980038922 952438289 756208311 979319823 981113146 812270071 548173601 994169045 865760834 122189222 381477015 456346236 737569168 431184841 826161688 140338851 564045583 952633468 550962836 166870350 832059043 286505004 840582865 938131022 977741646 838528675 343613609 222188639 551647205 409200491 461124608 535804043 684689717 240232497 208103938 965773542 499150265 483699941 193558250 433669173 693887202 844252723 871755068 104679444 601791481 475101813 648143268 476248946 141765203 165934996 869711342 618553641 871315515 714627134 162419135 976428298 681858473 491162392 802244269 136864757 948791613 950365776 245973050 698693362 700931361 800812878 712215553 889074817 800138013 341273004 928209604 658408108 504271057 618807540 606117143 524270487 308837131 420872792 490294554 193916368 651459025 225672605 674432277 986705591 148130378 865608449 500748342 955277530 223215916 556039098 951645769 473240430 281484972 151558219 918563535 727686267 925290646 855951215 725849410 909905997 189922288 247375832 487029017 889669643 732795922 254540303 229983684 830086103 733868098 234484540 230273258 763403763 328289854 684193957 341462156 233208707 690044536 825170507 648633663 172602216 405850752 938334698 213079542 186137098 671745766 408961653 478234204 271464548 484307246 784205390 260325809 754261400 921587030 675651789 972518009 297966086 495214119 743414859 176100820 843608312 419849109 342656495 975135342 234625577 843037349 444875799 740968075 984263090 856043670 756493439 475172673 568148682 678756287 720992523 607629779 369095099 377450984 879341240 736809632 511446438 825855344 682807465 111283271 106221488 549014108 152135146 673864665 543803766 869445800 189055817 544761992 321808317 858444411 540193001 168017572 393384177 565264399 925953572 989423737 928582877 130492046 384173695 907582848 716520194 302774016 493595931 292972696 903213785 727951251 873584932 169038530 592394562 794039617 553719994 325511765 848873459 719277899 348310832 651447006 238659716 164511623 769787216 715426418 473973802 455564522 136691168 199878256 520734317 253423472 613766607 884429860 590276766 530737428 401596360 878093812 266305732 964079755 139130776 370550848 733031087 146641560 998069380 799759482 538427561 733336795 322086463 369661828 583451519 316067713 713008851 388116494 896638327 567907598 408103452 717601531 586475849 624983454 986778456 251059352 440954680 790858599 737478877 950954947 712772061 144061058 515833793 637054833 594055004 165235267 190399237 540195044 477756995 553303662 730725581 170262499 875518853 934021634 393615875 338542016 120656628 884279464 191353814 513236828 121060463 684314077 649631805 112669459 263934054 661295855 179083045 341808973 473878799 671605237 190925380 184319735 309563499 460895013 949957799 868428255 295258816 604171666 358667973 374724713 811360103 453726026 304290472 314186785 818038231 320384616 393191449 962986630 455982294 689361945 152075541 238043612 687042603 387653908 634881558 781015286 356361129 981206284 945514870 241269564 810407820 408573694 536802915 965039167 255071372 305913754 671592956 331191880 314739945 288026907 666398306 421488223 268042139 896302960 516875309 335150265 256371063 309354692 597817908 196819771 413739081 632946156 599425031 397535787 118469428 444254413 992578410 730219626 724765330 652295056 570017422 637405007 415240561 294113388 571155816 973090484 785090700 165492535 962000681 216718095 205059572 364933448 128222316 995192727 592854501 120944013 783020157 200023662 557033499 250291257 240727442 280908592 382091305 765694637 122993581 434305651 720550653 231577930 877287707 310104946 622075456 698252824 669553887 366469035 376773856 106993712 938358372 527990795 189927538 309459771 877106997 979661946 737503544 162991850 306181547 153455198 598325598 177689617 603174870 487189507 647160313 524694280 937016100 139466534 955933852 386308144 960027910 131467945 727323595 564515146 608115289 712764089 399930175 458668398 535809720 134184637 535821873 463351768 691016758 237944743 603957014 651506213 206171783 394237189 674860712 438359130 853473285 388429733 747651314 170615209 840366023 146067150 413893872 969274142 372202727 932838598 893961065 103122682 416532913 896140474 174543727 478437787 724560202 927142025 848515620 351623980 385533634 187375505 786292433 693781754 528213631 705419336 181383312 111271048 103346525 197824815 354867960 258413668 915055697 583430306 979923550 983380941 448967327 680573302 674876935 228787994 291810677 358111061 368577119 621947693 135068397 697755293 706853529 335710515 148799690 561196062 745894575 906318585 932508494 627834536 556234275 944681842 503780924 758438969 729989026 468892643 325763835 936457453 503699105 715340831 337645056 234028081 148331075 358813660 190901997 951762718 449723548 760181323 422123856 911513275 784183147 144094606 823539566 935714976 373181550 521563552 834231014 181307414 862265721 839281500 712279862 321561922 562770102 822769632 825862167 857739652 212408086 331777945 988778844 278957860 648879946 560450698 920720028 749941130 673727593 855855425 738423902 818649387 791829567 513619702 514401984 618918860 361590332 563077891 365633100 450539410 119539372 906413263 483565123 143026927 174790081 246661983 873531496 434665852 448952530 427074176 537644047 494736431 874493000 941481167 423840158 640291656 716476475 275124323 539338821 672301577 354116235 279544635 743822987 188042960 878771831 264969880 778079753 596722974 536525599 663469332 425269841 996904165 320475358 639357100 360138667 923076257 941205130 721153284 855141833 932185778 787921157 327954154 502546846 580403511 793883015 107522421 625944032 704668159 111812831 216022612 989661876 993021137 349239609 522040693 158883948 618239615 731675585 408099515 365593153 901271786 865001278 883473182 186034550 635859017 802516755 494669826 644789444 291180987 851881049 536495107 273629845 389932638 217480322 683542885 272612387 218527022 300584125 482069302 382035300 509734512 674496481 463524061 253277874 267751782 656736692 734069363 755367639 306088290 446423707 894669155 484721562 116527305 786519764 852939046 308333369 277221172 666284264 832347686 131244546 467684246 258068394 892315704 910349003 318547736 811205911 553690686 166284072 525130799 710466548 203094698 196429352 652200714 117572442 340944359 942753858 691436800 935470014 551298195 431272964 934773377 752083238 127257695 207851381 538376416 377913539 725291885 344862593 923744896 319650160 209303609 881094464 466286637 454599504 314181352 833812683 231905308 359242712 256322154 402292115 104860498 362467382 341517153 518387347 296094222 583751038 665728657 593026134 441539772 824743371 996327546 679367190 720646717 956486507 887088104 818344531 116552437 466150690 482594134 403148242 588279128 768454049 202304744 774613078 997403126 111966311 392580006 460898868 166488095 190187200 343771883 991805463 617704605 351738677 569971111 619489291 179587542 291972505 837649184 621322298 276480981 660595447 848459015 764454146 436196148 155433634 462077052 815595101 305993387 139535571 862093599 333850439 741866764 399261838 768014844 388140790 580257828 852087686 529090892 254738250 960681059 779326630 218054344 816885172 761137491 844341581 410673509 462673475 282065938 741584149 672521704 937956736 986554132 384225882 122146938 467367727 636297776 437186269 606336287 422239240 761468310 781094050 230263589 902265329 309945706 517376730 357068935 317462786 337001200 243955723 885882459 687121481 273797545 646560828 839773550 405958821 915983353 261170381 827079381 105221996 189967128 337294225 881540283 616290626 395915556 438884281 376579609 327836865 195179576 113003481 665467756 438435832 896345940 869636694 491875012 204170688 686322243 393543504 668257279 506344971 108634984 932484699 616334956 715053881 313743871 566919488 499578442 848705400 302570006 343422641 577606877 554980257 951782723 851463399 283660341 411691507 196401966 426345184 696885280 741560630 705509279 553733111 414831060 601404321 174843341 228314204 986545024 736878950 440263255 428325607 455189646 763676971 912276417 411272001 593581831 689659631 875826918 177446310 157340875 600622906 796324510 550518295 627773104 133008754 204739313 711451989 954288283 374132633 478989674 970469476 448702997 680564683 346003110 877807797 699110993 887754282 213433924 511685541 568339099 462001209 186655108 150760544 965830041 839680128 734297306 167370930 506729063 851387418 367763689 565584603 898063990 681989389 530845352 700334178 921394957 201984014 926768057 207277861 668686525 758988480 716082697 205078158 524087574 722096654 927808905 642469891 618633883 321493599 386714315 273677955 808931790 792424100 674866384 748987911 397209870 343876228 522789783 496690999 200565047 836536939 444182440 607083412 323764954 304939062 722837262 958959069 558975896 658220911 272802290 542110691 376275560 885754202 654190214 965054997 768539203 742195026 558562041 561936309 770935987 530614770 115194139 910086974 160531270 336422867 286824834 529746172 130656195 613885103 971044222 242535453 355856081 230202026 294402414 794716844 113312992 863084164 292936551 555415275 779421091 697303409 837638256 878711634 245142057 925256993 528788600 567985020 724630237 966716203 983807905 703306744 216123270 418250104 815354210 192787367 731875705 516458508 261934799 364170887 925286674 775655877 681720091 330783009 268314339 646530544 600618618 497047263 510005647 859793624 157794639 375620659 425981091 923959521 279412779 231014977 248407184 186615564 659277081 416525140 930739904 725744790 223893428 488904167 953319359 825914751 624289287 361080325 442294936 656307037 997055519 703853842 371467280 733221132 194515191 570441902 272608345 481218620 450495705 533364215 902363362 138525489 776793181 109307323 253956241 199839417 504972519 865999668 564920235 267221698 634846070 488905517 963057077 260806176 270023115 845963443 882517142 672841629 634596082 655178186 282958120 795550149 654419063 397548082 947875733 163331387 299937364 681520714 952729764 800633403 105767565 641310480 262858561 135066578 168564895 475382448 172203045 762729563 632887076 356489195 144670394 294432779 898541675 732060484 704944457 631227932 864588228 633409137 592671526 144737399 606295571 936922141 337186362 170568703 132515464 857249364 150898736 852227157 750673040 451291624 868381552 318844091 650509065 626208558 922474971 895521295 573255714 159130962 903543349 976985848 959413642 338831801 492104041 509202916 322242903 985080681 272640659 849270442 744894873 393921817 244130770 170446700 195862569 228748569 865760824 910382465 680944714 103196080 689302057 761557071 254878709 954850338 992409649 712257642 962866980 820998992 426912496 384359968 394935387 665117608 538713802 978360165 340537880 677766640 173699544 360103411 968317137 612955048 189208213 647329699 553340043 866720805 675657516 593609140 727437484 466980672 661361247 646359930 739204276 790415276 336136276 290662878 708029712 628855142 641874447 484206692 343550304 402992918 413901068 289964568 216663894 792373084 270785777 165144102 942391557 515518464 779252375 263369730 943640773 192138976 646012995 280117177 595833560 796991118 789991470 445017055 638954855 746930588 122982932 877412924 129032570 697913881 287729019 311951919 392446974 585851567 846127619 933941490 763500713 526645990 583677923 145120150 246355369 340799180 688650270 890667581 748905850 652210799 388362503 913921460 845707687 655464786 806042753 741463470 840384173 366142031 410892746 319754107 228119519 986705333 124747148 238995872 682305350 426131542 410907400 103712103 278123818 151158469 760407776 318463302 605202794 867475329 343350668 681784582 226739739 671184733 492033210 615660775 859901050 870900163 925484247 276431250 528716141 394010557 635539687 873908560 246051485 882206259 868255661 420836690 540420833 109915556 397629007 693912826 139237605 925290466 281510009 171489328 476132595 492739708 989725991 597455868 377780579 224188298 953413592 225590727 656888834 133742443 892390757 380971320 469269850 983486506 238435306 237432169 985731929 213700044 183734824 189712441 807275324 467459151 329639128 955757125 458125017 681940267 177410812 560606174 627055931 613804801 205996927 578624262 654200224 498423950 929625844 916075363 800193468 796725352 776317703 589774776 849473255 866906607 515481509 949134583 390985098 646884569 394578636 473124461 999228267 984744080 917135626 487855777 225467014 643058940 270631730 793266967 132480700 961990434 247628158 338089564 537243868 600395218 632043654 126165534 583879553 902600383 750112052 580526996 848108395 322514701 469107144 509213856 779730219 889393784 638316489 253407216 926391958 498420022 845713258 301510332 175200048 599819879 429528664 462230595 143999569 735971048 807485177 231680176 554481783 643303352 822724813 716760807 738716990 231968311 121303931 181405668 101868172 583641406 281400122 741581216 654095244 758722146 628957380 413397814 617207482 643990131 990628284 716452087 872085666 150290587 260687641 545894237 910004415 633649917 128972011 236870415 117520775 765609180 621835600 451349953 121952541 900899780 420568322 837460684 295778820 764955200 275550690 968685415 678513170 139445530 463719084 584899027 336745861 719331475 333384175 379117758 553774625 160518890 139393596 905230264 962344926 209891490 315149294 435488013 306622368 280601512 293918017 119507383 627538775 998808528 200647911 439955711 232819013 333357687 858325337 553061839 427039181 780616993 671832230 346776872 641146463 131733846 748186698 157985839 242333697 111651012 250580254 954590647 282662203 144195865 394608868 729106210 807178491 748287314 100474499 872042523 980657948 218472683 447385758 854178722 596303298 758875890 514816994 468242107 830860707 505509252 185064948 833647690 198932799 157209112 258344854 434190546 395294324 541434647 741175219 631800437 324232479 933858593 141263970 595048862 189243229 154143926 414392555 928488844 682153270 311198257 564293881 451309855 406446686 224857830 780609375 249270910 742724975 847711601 892062835 480426451 161752174 114651920 712513575 253713744 349336640 897630373 513649529 696973292 822023448 319215167 836585416 381965556 805631898 192857169 873599785 700859853 669230914 664207258 778563646 145772330 139653353 489849687 362061493 206889100 311409989 294015196 756581051 674317458 747409382 382777707 146307683 902888502 234738572 799496344 770166819 604657427 848614067 727576571 706112995 881802595 503456950 140040484 284649636 572131706 679813350 395684010 121216777 311651482 940039882 286034011 462721959 641518370 372342019 404793994 734810204 817693505 538087438 643893368 774409911 115107983 784139042 686546473 786249048 617102069 234485923 228509119 336016916 911449408 648368282 150730792 820927324 616227614 392956041 249498270 821451322 823498310 450357115 338273127 138216865 715715319 971704358 231791913 470739273 696042134 365131318 597716702 248277680 360659096 809774811 658611170 976794634 566655829 686110026 205715400 638878415 310210499 460248160 797969588 101757448 850981859 302152762 129441191 649021054 884303328 207308421 197777966 325007622 804035960 377260847 767771282 211826872 470498084 305649768 311737972 313522924 651107500 219862308 495476897 683481700 429579306 349917040 739675476 392250677 422809881 188205607 116956422 468945391 353018417 264881777 642821094 172488809 671017980 605361842 167075690 628073803 307903297 116691388 469318016 484224855 473193419 175959871 794984058 918378976 970163885 724769538 661256231 118998420 873207543 424750452 161579601 814627918 641594002 948195124 429433337 580189530 754096618 401818383 941824448 263317819 340851191 138581022 362645841 898972151 936081484 702744377 353398743 542219052 172376128 897701634 185441097 229091349 655572856 583227113 710150305 166346254 322648010 946584251 727159500 669408815 180511034 264317126 780795933 902340196 328482883 486054853 286727101 171566542 358926991 390451527 891288324 309735353 849038160 922280115 766165726 770400784 815760974 646146970 892292471 916938658 991136090 375646284 557585506 253889626 838441105 355090320 467093322 643360784 342831604 570433094 216060505 642696127 315005808 915577952 368372958 694076887 966139356 447361873 840614860 307402949 952329623 468125063 240305653 100197350 643226445 823208703 263190783 352036229 939561779 804682663 483188107 991700735 190232179 146550719 808591326 549667440 589119891 126496734 538153897 110401998 815223572 656737455 844618935 402128652 492806927 509925409 883747038 959623692 951015707 257171807 858615162 331384803 962524120 240950716 206479649 410442673 178579165 980998853 280403673 202416931 661149860 154671266 634792079 653913278 762147092 938854222 471253621 620139058 575382446 592508162 118122930 667465718 299955177 253235804 115076974 503556490 333184367 599847148 870299333 946143497 814149460 245466913 930274322 424078520 310691918 195023879 581617770 311124809 586505095 226256697 714947818 275316456 495727829 989081813 955102971 307355060 441403934 886570597 571248294 723395993 820073541 138218289 871010415 430276703 886122774 743602148 745303470 707547379 342997088 459168916 531938826 359412508 428630521 193613946 286985406 410278540 355221665 106599651 363470171 906204281 929288732 115270612 803293483 985422559 978143084 723297251 433317331 463489902 433551052 367721643 364843886 278191754 170730119 614089321 960344158 225804531 218738960 199293343 783111226 583887695 723688519 868423801 218601103 172373153 558829065 195068962 936708348 230075853 276961662 742804736 822966199 713478618 807677028 632774171 634115362 441694191 259930096 228994207 796895870 184285135 975321215 692246506 810137995 565318858 701873398 732120225 278086121 744162011 992785873 295593618 343711561 934986272 116085697 628990730 151955905 184615353 104393692 946403315 318668497 527554724 997852808 926070211 996417406 133619910 684963805 358053140 119159506 162641423 963112075 890306827 609393115 485968973 956582886 422959322 397879635 623002433 184978899 253626483 870724161 936498742 674307903 579762573 351850182 309337745 550133605 344633561 769918000 131755161 674992260 610286656 836120513 289287278 863803360 528984995 215901063 591546181 283308501 137861579 604120052 889524186 595894186 968728510 106943885 379094454 462269931 321994356 697470057 787058994 859047773 259042231 449537429 174964091 600323430 275811720 198289500 270570157 312103334 796857810 508540257 430167304 993222641 289136619 883982007 211796328 602203142 736073593 936764199 528344288 153940702 693616229 588353347 342719584 914629273 635215277 205055298 775428165 763787236 556692949 645522583 214208120 790860809 196918233 581808554 767699740 574305103 286778382 695939569 340378317 453615859 208220267 935256550 707697210 750802111 177210670 791213961 947737697 950818917 802594870 520711876 427892573 490954690 770252137 336580398 366319450 151854690 688967407 754021515 799719292 553530020 571561599 241885740 751324409 829625910 556478546 527455146 154857336 391703998 765753170 427378042 136648915 799660255 713855574 376894928 934021665 816860224 410195319 400405482 929548559 861051861 997668865 379235088 758384615 423923003 150827434 299704064 533344849 428657167 735652899 353502975 251221904 705267478 186471176 573082658 685814052 169986624 498765844 495739244 616180652 112921397 730220149 721937684 335322166 431528709 539058240 555675039 983934770 339871463 816194898 116012648 219559407 221073995 242218499 292277399 216427691 624380083 754602987 880391403 854288941 485840994 915528297 815728373 371272694 729618657 546483317 167246804 507932729 659374386 718306948 183101384 372128006 146193584 507471883 696991053 164702443 919272057 754608028 642357409 188665159 207100928 223058258 988527080 197587712 136577145 795811377 516084469 542200427 247283023 430690609 548131918 951686339 978440240 470017341 908690748 715704402 505342907 607229704 666785405 678637990 616448900 446816411 877065786 481693773 830279638 814823704 539344485 781314981 805460507 750799163 465175961 611128739 447362714 272137737 646513591 702087536 209718059 393875254 987498811 225146319 205298116 955306991 909026892 281099082 264247584 456590402 248442644 219669037 743778114 949160102 957325914 144135593 805876449 199315023 951534554 863733711 185947423 917471855 324391096 136675278 300032540 218001314 337374868 398825289 504361166 898872916 279953043 340251703 398910803 129157733 499612209 531197660 262589533 446477963 461935026 371560095 622763852 389076522 637286932 405729168 739436254 186882621 333068527 775913325 704819177 533642098 760178555 861835685 868016237 187751205 223117201 387648533 951612535 885010958 581588589 224588478 958853861 861675145 624984765 229987151 868778189 776022313 396443947 679375865 356777939 590286117 586912713 696160009 174748814 125001619 276175365 953741269 212032602 884237478 416393471 936816978 611462454 773311783 887163479 391212815 439351319 602151993 598369964 539956862 771452843 460830585 516390820 873231527 442703418 164773825 384479210 269207043 877385906 284450665 989581140 253091551 331510941 252820556 780779945 247414814 141404963 186872761 626959881 947252461 632643983 448090242 392568375 805160317 860728180 343818026 568458774 698137228 292261354 466828480 963016626 565150830 248942733 683157542 955438933 672159743 865247474 895586964 747283112 413583458 128948463 141845843 906038046 547751171 134738057 444507481 688199938 822501914 420213330 173576846 461222675 634144172 473425701 679083446 218563900 371069378 690162795 902801797 329743770 826237795 566307457 211583835 473933965 436329447 228255242 546545013 666104861 892011252 794876043 612742750 967704748 478313953 436249182 886439161 614557556 301362200 370308935 145955514 391124948 947951290 909991360 464189071 379888148 102875726 887749189 296074981 968175942 410193283 510284151 719793686 386859552 707332703 407307325 644749318 707543849 484270301 867670591 385016750 427908979 532701379 581095010 700449603 844048524 326765397 316362317 288121165 308350067 484025458 635030092 837783555 672826651 165607787 300247463 617027995 919036799 243854234 676120128 594577440 258693889 532753302 307699331 544741446 630112525 519563134 146362452 261541051 165868955 967275451 300676011 251004041 398561379 591866280 120556489 398780266 745395478 499781760 180614280 505563509 598821035 238256310 176775740 149351451 280975861 747983100 667998871 362572872 634216145 680733206 985343862 268541487 651831523 722374120 199150833 956730615 798082838 906143892 930567385 689322685 516767303 583110244 481016777 159976957 556471898 871863886 349751778 574342538 551356089 556556385 337616668 100477011 727403032 467651270 163364797 531227218 217662185 476907150 167475581 473048695 710184260 511679042 828323417 719948011 106384547 503362369 218011740 211278141 434763567 774207644 712129789 325709526 352315919 218269484 954587673 604260886 193157500 330364885 123385325 523022144 400982464 221891923 468955074 916388892 380239857 354423334 531808851 367486180 388478674 819721472 627763933 963130749 426192926 849909335 847547060 337952143 499641711 651619833 285331391 156756432 229620072 696079744 431030808 445847723 946521171 638682348 943642623 953476464 925905449 621856403 929953040 887571856 986777880 234383502 618227065 154119064 318946880 399121908 574942323 596227091 806913375 840127698 263367634 143605805 243222654 613429718 687591094 507272855 867321906 811146006 647106529 654622067 418166822 441871528 506423326 736311414 399330543 868349079 824544604 114897669 931268083 388943538 518963447 216916724 793094660 592476099 799304927 829700302 582951532 942097787 317834828 197810800 893456290 992134089 467644344 544962030 369714728 907036394 495837223 871889449 261793638 249519434 494650480 142758234 560010234 280782575 607325546 915578678 443943828 119581341 319663004 685798244 513911513 471279109 690903562 414388342 783631109 479063561 972553701 154061510 124460635 485846757 855197315 783700211 553203374 832106582 287688847 231137911 495303157 534561499 617860703 494583961 907082821 129455303 367638920 928162233 968518684 863993658 716478026 927916924 538120129 536858844 990670552 686268547 280444127 941056508 441935851 182281343 231243869 778075960 247711830 669991336 534861377 779145277 673914528 749675281 712570138 436022127 963512912 681226468 963480792 954509533 803529811 825642937 577671969 412335674 417118409 908402209 291143534 514800509 583184617 956547938 668834020 381226935 883145445 823251415 745871929 634447955 237563427 668563151 843051502 676570090 837223841 784248871 777033609 413504300 437746382 832198529 345365990 214551597 358737145 457104084 710014586 580236456 633039143 968635099 451983470 755756336 284214334 896501767 170487959 729736264 284891303 143899375 177985791 592382696 985742390 667927166 215114774 604850512 374004524 316435747 925547860 197240675 111825753 943963202 958148263 899517733 370701820 510100389 474206834 759783145 360612253 714227903 370912731 791494297 143167355 798713973 439549643 522439151 947215594 282730436 163032911 772535369 242420497 180332497 281052670 771592641 813199667 332846731 258539229 133090434 915426173 338963479 197262576 267936936 926336546 495908510 475597885 689305525 184379535 782178625 830715298 810327419 230115498 212280841 848281653 784909904 436632937 305133372 312086974 585189307 659948812 866000882 242845290 342682084 464074073 391442900 815307582 453018503 609280017 965661968 994201042 458160663 617712034 769460560 845388403 504949771 484205908 472619638 495653483 690468768 515598563 741818774 605780515 944537863 690703980 724389600 485020407 568530066 869193354 737468089 981818998 569135255 357398798 284736895 190412442 448517333 995370384 861290967 344475307 655989791 496826942 814668851 227700137 563741532 390510217 576729940 938414267 822063758 402841147 965185927 397394201 981122403 200657400 839844839 160911175 789430412 395886902 859037650 603934747 188239793 242001332 714003475 128244052 261691240 341754822 930417958 630897679 785026892 800000275 244139915 436044435 205653081 127247156 360044936 912014072 301250530 994635009 618205326 132353467 972380111 990498552 208640544 503315284 256047410 482696285 913019632 432752031 388291352 176093168 103785967 650234414 185875914 204151531 593568573 478835841 177305767 292714376 767932920 496187212 337970214 942514875 779899027 546518919 330511525 541036564 129414867 331068013 289881744 561475337 788939114 415950665 222067664 225605345 916349389 829116181 657647376 180197370 278671104 718070843 937138248 470188965 460327928 584903930 126847912 305878224 758313270 233433514 602303678 175184820 966223547 192238862 775663685 155286545 713272078 503413334 107511453 445879578 992334356 344120665 239683044 491975897 147956848 935937849 186426881 658088378 745242148 722373073 798040208 584630989 318624550 176373529 201174982 629329166 875068139 642746911 859354593 372108271 424700016 247319905 924755063 929483735 448485043 896806845 472037722 181284400 905270934 777307667 192532648 872968112 883166577 917006315 519021603 576018180 209130839 642967556 713678828 967739510 543021138 330977916 377571588 815337604 969145624 902071184 415574838 551229435 738122639 107105924 673825190 799750633 481712844 221485719 657185656 187903426 701476212 322860841 808136042 747647362 888041832 798722134 425562679 482642122 488155768 285072193 837748806 629385072 648506858 566092862 686104991 434522322 274610594 767423407 699218968 995940168 963086348 881351944 351159560 366918651 600700975 313273239 998567553 498774884 944865271 458543380 633971297 895556430 967982498 633409753 162221998 794087783 288822072 558888326 814268779 233052214 243588970 944186293 867747371 627513780 372768723 681585952 539236764 421374822 437966694 665552585 652979118 185165595 820177533 466725699 881056533 142437078 874133830 739134532 244837356 488675011 230087170 575122898 867697898 518077150 201071115 842904257 198934236 673628893 980836664 944000345 299636745 578866115 202666732 934154963 642396951 762563835 848974021 229303797 155485383 993740164 811860244 606860321 384528857 337710108 390277855 264818447 223968824 993928308 429402451 816267372 899831265 886843156 720076288 626763742 682987425 639859353 636772674 324273333 515102222 528680494 932867449 117434498 543849292 470100103 276304205 443725780 355034187 457066612 994352093 970992420 764403138 433014502 332151267 986205278 453623334 232405682 208087910 780371339 727831848 721113073 241909556 841164658 271307252 225989964 210743371 254813437 972131633 505983196 735992686 129354586 906492879 263060046 832985355 121049673 305164639 907110485 861641534 725780795 318461421 794627231 849100562 439226499 448379570 145186574 303893838 190816158 910543976 505167326 609656354 985805570 984367046 511490050 822030735 817355078 415878784 543621408 953503211 442341413 743988736 999496160 862952132 630433505 663226966 166538716 764907080 424833096 338237967 599889594 344440019 230579427 377778639 931573230 936291843 916293368 962584630 128542274 203599935 157041323 546709551 748443184 473852569 948499277 301946909 202149189 933896091 744118025 893351154 575121308 274178545 981517833 774235036 180962392 671667123 454946180 324880904 626397907 983256989 570840054 139906824 862493216 138106814 201646602 944701202 196357144 248664730 884235687 479446646 796676137 163426215 458317390 868845922 148468284 749387109 105834028 667443889 328917498 470132947 305899288 217047857 180358474 442832328 525320462 742195328 953023203 499559642 818953999 598788512 879516525 639147822 858894343 783261640 644894843 663582571 938862501 569259778 890690869 209257142 909593871 433032789 703179720 719557975 627792952 443361841 273446668 383464437 133182289 118269684 767215808 710182932 788944032 910901453 704671623 461649653 780902769 621051419 389432086 330253569 387835631 977913015 929309623 832180407 750992557 109928065 964642918 639518947 331857842 997048048 669543641 777225474 460497995 187587527 439417485 117352480 698625116 213534893 881711952 155415464 403406884 256552099 382030283 941963079 442794422 702419283 603098832 960759294 575573184 430973222 633741124 251507567 761191882 184384382 897843103 472455882 743009471 344356057 252987487 924182777 406525616 917238988 328380830 334466609 565797786 225628063 768177537 158520371 967690618 667947768 761161759 961957271 830411159 212688302 457501217 797674388 157764002 861921691 473444394 646957021 370742939 562178549 778735150 613050451 592172933 988851243 112925502 336881886 836627887 502402903 690843919 398322673 704913298 526067848 490472824 499125016 753487924 666559978 831862316 215608175 113373842 969640973 387717940 745344047 682994663 144772953 896495392 987107744 542736007 441627849 243377954 255335833 157375341 983218720 634849835 682890067 558011310 627751608 916031389 754768938 426868382 566463698 107247494 511657021 930908857 484886417 803096166 337450352 250171754 645056650 184237978 645430651 554694121 287795623 205848397 188342824 870943172 167648740 476184137 328392330 477823593 142058370 555729815 548785256 747048256 861660670 423600918 483815263 622365309 641969893 778863159 288573930 811248958 152590143 714491403 224276349 443751198 518525563 382956757 495534037 383431914 530401128 340887613 655504407 560885067 120650892 634798856 492406736 379464097 772492775 909632223 692569523 525118923 790656572 834732994 708780171 703458074 747136962 913051523 104060987 248114479 528233544 105416003 419147111 502128936 838702628 564418304 745820416 269967107 955596347 607707687 693314224 852577686 159221777 326784982 471360139 676817435 709710987 457501228 438524852 174681109 814402895 275763477 771947950 830577415 313950024 439121432 887584886 101285086 168865196 686005782 361252000 642227246 883628486 422649934 553163648 342802674 347632878 507142471 477983659 109324798 985665670 638963402 818705714 748491430 959041133 114027288 534751895 630677102 151870941 668369103 418477040 932211118 402514045 990288858 264911624 118466141 841784257 919032873 634719819 401135101 141483880 292951964 758811235 974414823 882885527 113100391 932807921 297057605 475685441 288428752 299058713 749425876 665907829 724609194 442561495 171671172 918618187 437211818 616335750 332223529 617830589 784714625 528257740 268271323 102710141 394584685 880806011 914581478 472173405 740113365 239826387 326634292 769982238 475687956 430975240 204523027 903590699 915266294 436271012 257436097 283467555 426267358 319638626 688757867 150738931 828050631 278676765 666349441 278546477 598971607 435911264 250620895 673182697 484728478 157489764 420960975 294412844 402560231 921991646 584511975 396390983 352386926 895188375 234687508 521410176 679553826 639813611 126798629 671274558 171767664 920707746 994127558 388772786 690400174 332280815 930706455 178687011 992539569 754559151 890963277 857781900 898593473 620144626 155712741 453012460 125231525 624312300 162340650 365883033 130246513 274358309 816145445 211115759 663960900 859553377 628627806 387545580 118144700 131135564 684838065 686523886 383514085 555684941 371017518 242662167 322710032 569864313 517499146 620255928 657980484 867225753 263064721 638481847 828968166 413094094 306367411 463581044 688894483 334526393 268545527 140840758 773685865 670450368 920702025 479577215 524267505 996216863 244398613 583391842 439423224 954017902 927121756 728284792 602906789 745658214 493332559 892179017 451626584 528188818 978097413 510538746 733043709 491480513 785976354 999843923 843191877 828074710 976205686 962783499 179104204 174641897 414388860 843543032 376127368 390772597 740476865 144527148 966370387 952767473 386112290 268336296 249721874 325951269 364225348 296421942 663192975 993589055 444690577 468773690 864843507 394861919 863620252 252513492 247649614 240017742 900735332 820420893 464757782 964419003 214028154 147837249 156768542 965640847 731408977 838877890 617883205 657560672 231222258 491663323 344839731 621580105 282861756 298150816 620942818 843128427 526255394 983999684 889044220 271093691 972729185 429685002 687669691 980761013 686794925 135661478 325808081 198863876 620436671 887898925 545195204 101227388 975778122 871041030 447149406 347062044 171173441 304475738 580070774 545803005 283885384 638540593 815288623 610698351 115316712 426745645 444828536 216497329 941770812 391224411 785676547 849962556 132291756 592961410 708074385 126888324 235625674 256738863 765643913 785480152 251631622 540571135 222310045 295477943 447362334 600675813 779798979 302846390 382631160 284798477 499589477 487049215 981001172 477514317 443154974 746590109 640338160 946580051 836232037 674262162 810765583 998075096 926543499 419504881 464920055 403978537 684508408 290089561 555106973 657799580 935121655 104407259 357287819 606209021 338288516 508350737 439007240 425595258 139207243 236558602 402957764 261250001 680911731 206798079 278096315 981650973 305746408 939171579 221127427 660569303 511824791 180936943 210655120 941015838 441630474 328582480 166477585 135159350 217069385 553362252 621356812 536075752 260557032 158449622 297592257 329540946 191801795 435157876 850719070 400202789 100431732 713056901 169033621 950079792 609972364 854295263 458602239 934951124 575409743 913656065 841326389 226702316 718979384 211928498 239090147 711238828 194356147 122735779 728559248 234738524 462257038 223219204 538455507 470732648 918511623 551615281 749096957 543320673 330874151 548245862 310454573 264866406 817728533 622546253 287709486 526750153 903566267 744926545 721394885 933532099 966942316 610080700 241024916 411020348 891968930 770212372 908675082 568983549 145806335 281911120 469361213 622176142 375144724 296980658 107518838 415749615 578937855 577414816 464172884 620243160 707265798 175872313 597695418 737115354 681936880 903597116 860902736 951381036 667429102 388491029 783379739 868977192 943646822 879100560 349789379 506245368 640139159 538506784 675786863 826232720 972345971 501401266 402254962 821375044 618276288 197744392 267728181 367385588 495117457 633446045 671127843 443187371 973270655 277205939 840531529 510721541 379218693 970767164 445348716 423762408 340951654 978512764 175993974 317174732 960436158 647389494 210703321 542119411 654506983 381576647 292753473 678130467 690694372 557113942 908820194 801937292 970088548 809480773 886737031 570955596 832112593 961644047 114632625 289329176 167121181 565771404 362919125 247999279 385296145 240751383 507166991 726552240 555287961 333234389 228386875 861480059 583883326 437494710 868827812 147049126 502544681 654593039 469147202 964721717 526313195 536113188 500484797 546407920 419158906 865882749 964094486 509629665 973703799 981794137 395097000 828302213 682244915 267072979 239878382 663062341 294721175 168866658 800263630 214414760 710266772 677241030 500353495 878145903 178342461 682461639 500624234 315428947 823133656 554284413 536406279 548867301 369503674 990996760 305552818 633793917 306654241 511073349 575531678 733341008 836568719 993099616 696176440 184977404 745258905 272585065 230379572 226467303 961986832 775650757 543683312 834432588 761116539 135158713 214362269 689331212 439517469 943310826 871070689 601859577 869397513 344771875 581963738 193153527 537936150 568957577 866422793 734726038 893890448 272908653 932570770 461480497 358192266 777049594 107148621 652372543 164369183 999753528 838399152 436127001 650999680 961592061 919039384 429894221 700060187 995802450 377220703 960875143 573648985 697773018 179707437 371372179 249399088 103238800 445689318 328844946 304928735 157575611 812720144 150786477 501273146 529920552 768697075 180084072 188536851 385789979 762486421 161742705 373239315 605652487 808199271 982795269 868403919 175991076 248691688 511105308 450827327 128006334 705545746 272404860 148181993 860044252 746846489 307265093 417820720 984547877 887345936 260711973 776626076 244901314 432526250 953485160 539004246 266390249 655530410 754942036 559024259 979494028 285091482 278911815 665017961 415586845 941192542 160039501 746004555 783641273 994279689 500263544 293587179 416055278 307517206 728306302 518525353 620673753 981327273 114032791 756196708 266184480 573315565 502656054 892359963 105204391 916417657 308040389 418580916 798580455 814609645 772600935 892757320 463957344 250681359 273115873 570333329 646465093 724172316 362021991 884982663 570122103 988780197 949565162 422707304 302679506 117587823 934766042 258239180 773729414 658185331 917792206 216921519 750757721 763083477 400766767 144566930 440783138 716351529 273296032 718703678 641076864 117263379 166669628 165015762 643892297 352777934 161804870 330856178 225685820 156215439 668236891 157246839 464288534 861029761 590386303 475516670 962469758 444587113 264998781 642778196 657411926 725943427 285135533 487935237 999398491 466072643 247990426 643371529 766610143 486950350 499036577 525070272 812063793 941339468 567307195 117308039 261249245 969749582 676830996 211420156 149013251 833574378 456739069 476812856 120678720 928246963 890825461 222261491 359942487 809884754 137491776 269164787 303728777 409094385 646065086 643388491 793926778 679325417 870755663 533472064 666037189 681994023 730964453 694803846 948512844 383141958 314010259 957025780 492325430 632554107 332036412 165797585 945583856 483514036 176160635 404663293 568369632 473636404 913470365 338261316 632671079 345095285 236664182 137077336 444982493 798714677 531397537 856753631 237675789 261015447 151806086 902116887 389812853 287917338 376715770 217480728 352169099 517990777 582215556 568840584 172567472 347589601 572065143 377912978 409038949 911597238 431775407 336749846 535270412 368004192 880727646 665569969 943592099 434547972 595318463 237878140 971231856 580936531 397278158 262281309 841719732 855686266 592765396 866143284 737776678 580067838 553000671 386969006 543100102 730388137 283267315 240625098 140875999 971371441 152294455 168706225 252493324 845614401 511772152 214711397 146578865 944230580 653446794 884405406 512884215 323406322 619606210 814745172 755331586 696916378 198262927 738364296 793500838 898031509 768790302 405943032 266739626 385196980 591531340 229505528 490933324 830010080 882910640 253992732 958272366 495077701 198161059 390050881 955492209 164262700 698931499 175471381 725014338 123568750 495523591 407661932 378061672 676061799 207534239 180793192 899978753 693815476 735416911 956550960 911658336 100903690 369003957 961740986 588102105 667986315 193195911 813894796 292088788 119102697 567554452 108639343 877017423 539706392 828108679 507180033 650800161 854272517 869357950 325147503 721094466 422691404 926534795 617936826 338296308 117204106 979312523 583511986 135211220 765740588 508117846 644706188 722442694 398629865 988755526 431605435 988554355 288156538 418062627 324952401 754474973 498336191 442561972 961308688 372796980 549206386 796990397 814736285 704685636 434403289 871582858 120047916 963345756 615567901 742150261 157736076 128783435 987083556 604822631 350329205 934808917 156675710 614903923 632993009 474210873 465288711 815796874 273862466 561344044 536495028 608908606 872501365 830153293 739682703 112885569 770713827 138277878 744125800 554317246 862213806 159141736 145520732 929979746 708007007 849044890 919653770 767593356 650953993 188747500 213603328 970774018 580589834 227410507 194488684 205205305 479426871 703747715 572298594 251635337 560538178 316561842 668802211 678945802 117996664 533783064 351182974 641444963 813240394 123080680 605026910 431053575 537811209 672635340 483931872 279299135 323753461 118489780 902336011 312456312 838921704 559070146 588915230 321691199 400081388 600848396 114343162 211213891 590621657 948859832 996279827 680234598 482527557 984490950 116306655 594262382 442334689 538433000 543965743 786324426 544922352 954400647 816894840 723101244 565578715 610753577 426286962 966881316 832147409 526713116 162439288 806407491 622366997 833995190 728315194 899251471 925848978 522227747 117142523 706648391 187677694 805357818 347172724 358722301 507243680 570460816 754114171 748728753 551620697 284687003 676911005 629680974 620598580 674702227 121907323 115225303 905194872 221877146 253253362 698835973 858051219 461944718 966141252 204782712 276883100 512636584 187926424 896369361 798211991 605031675 828619697 424629029 957949750 259054738 713329670 581507124 994300894 185737902 283704840 784422414 510852375 853669795 734084221 610734579 463299021 492985192 241334887 494861375 282441327 582460359 989587643 796134859 730769202 136352859 775773960 723843631 677512196 567360910 159649587 215562112 682432142 229926504 210109015 283868687 496497726 396628234 650851397 643821995 315934210 609313465 444021471 685938583 317490198 223824765 684569771 413965801 738034829 563467023 827584372 500800605 690504076 255228640 378862788 281125151 627437142 705609691 515209220 154954585 698290352 563896525 641173892 647094619 320511578 290633054 982335020 230984918 285772716 523247120 409651292 948480513 431971926 316892954 634677193 772520159 855343880 496544893 905226971 244269030 389785708 179587883 584896557 229963482 946814324 738388215 892617807 106834559 150412763 663562197 192801578 666468738 593814853 606830707 499905305 466404017 804144582 579430877 793168120 122122940 394428349 686630260 108142441 459704152 654069488 206629116 298327546 181854039 151043751 893760640 422294042 446648413 930486830 748009708 579127163 607140847 720339015 886593799 465926337 685370370 479627616 434256398 503626636 859790620 408881980 253161570 702267071 148398798 482745825 922138402 175539300 804803087 437602242 641591555 665437706 313010035 368354184 880439333 955944362 518486094 250812568 282368312 969821996 655005004 977365570 985276197 327898823 240138572 893426969 732240226 527403323 260240739 949151821 530930451 852451477 705011328 763507656 541494519 167213104 391948304 894893213 792333528 651627301 563489119 660279820 245005636 388479870 307819900 827200234 114306858 268231280 644551548 140128539 816762942 673119654 155924506 567092815 848096914 840550908 319365425 186022917 527763532 775583678 197147099 665420052 638799160 988070589 294171923 181969830 876124151 292397163 675646066 991903162 772699869 664407210 255692400 602957874 361440250 360050410 757958950 487697834 131810945 440629322 534325732 468922853 513288954 161865721 753864598 332480021 316810517 741242259 420649803 574120631 364178062 206551271 381541049 266419973 708450312 227102019 913374784 117364562 679116058 165423723 519152281 549868838 344810032 837646347 380048730 334609237 220515302 118489242 624276578 784123147 661707634 768531215 302283772 724745779 927275775 384952626 886794291 472062369 233733427 321720955 430063208 411976097 260772276 207693912 879525279 413928948 840630042 414312569 283326551 253905463 986831832 821039126 754881004 931218915 197767098 322201574 414700711 427308696 648147681 638015764 155052366 940794904 177710811 654630573 156825612 390914958 796843358 234390231 785999141 979123754 735569729 165951571 927709210 934736293 661414683 509492309 492394282 953428706 780841723 160309510 838338927 998107561 927900643 311295055 395855222 942122246 361380918 937785703 469927054 151591018 291713195 792901581 418167923 911970459 540525990 600256330 534471477 398724945 380402356 542396533 842496592 869017433 295589992 323043206 175317104 187586428 233211993 705164822 458245836 479277151 878419403 321270384 356778773 178431710 138772011 678663541 352383665 158745607 784209067 960352204 425322389 240562554 188521212 569988649 500901805 115282123 942359301 123547639 902156742 721273352 300110247 758382974 872223294 958590156 221116997 280347099 397375860 734990819 207105856 481499868 330959025 303109061 634729255 277345279 501386623 706998441 970780579 142024796 412735806 809893971 288820212 313462461 128546671 819008328 863812205 687118736 272647013 549501531 835709875 329831749 291355339 138490324 201026865 269629286 962347043 639999747 125596019 809220268 654355880 973539446 277157757 804474273 794149337 548854744 720357320 443408607 848524232 667166103 275053726 467504026 830725487 500890559 403714959 320790929 633330720 768706197 743046859 378487164 292116305 340419073 398835397 110771136 684073945 937898757 376395914 260892500 643388169 784199714 277233372 334292969 866859130 157112675 727250186 864358073 222770355 263403251 803906362 154772285 566099726 564076222 858800373 306410368 660642647 195867727 580228905 597142982 713673148 748194760 642592726 828242462 826245213 747340287 361036307 336873065 952456980 444342738 598882442 969584507 739837949 589942689 812154092 120641700 750857428 670569225 174562845 570295216 973008390 473637564 607965378 908582651 290864047 428056013 135715862 345870809 887099472 303663531 789906132 505167054 219698547 223961619 733066654 433708417 431408082 883729691 749946742 667904694 989725776 376655959 351236461 957347839 598465516 556996725 333439617 616745425 989514637 359117858 941640257 786069185 539200855 140490826 202982262 859249665 486554677 146235456 971855945 880518191 915770811 122882800 644955074 886706218 939526481 614271767 921956867 453732457 861152611 861036477 897414135 254642332 908696188 112591681 225809648 288118595 825739509 447591835 790536423 887025011 384348800 964498201 159534239 751049798 198463957 251282548 859824635 148575850 335187132 355058668 769691236 502283724 337743050 371608189 111069534 650909138 913665433 983126038 629785333 759886058 550447747 668151456 275522177 192724188 158345863 160239865 125748942 128795401 842501078 933647026 545719754 278760442 514234401 253149875 310401500 954740601 190020101 159402945 941651647 238792136 744799543 955977124 900462461 941816686 385751804 893679473 492683022 654428836 453444164 516286595 210236996 536342769 427248376 158248938 797088321 244557895 642911580 886902462 141627890 314859232 275642265 710921601 437301073 533773188 629580686 305851756 961668090 943353778 315257425 926249998 312283497 608560909 601962383 961940417 987032356 798233828 781054978 612465081 256581420 851926993 279089301 872596032 722491995 238865853 694564517 493463612 435762877 459845658 950101324 546319223 907273816 581687520 131429950 346691090 153779527 940173229 538498319 772301836 128031587 700969639 219811733 651674098 863374267 508520369 364397487 944388805 235137843 911937887 454092099 114256041 307441310 646004413 518752090 530111377 106409915 472976082 285740996 461479780 444002334 542059924 197256532 616882178 598907674 552682494 793320001 596930414 758267622 257659653 395119268 725455451 910630841 732849351 954844254 910056676 546043608 719680938 901521003 127039194 785973630 208639393 410285654 233813154 329394771 146290839 765192297 661905136 196326236 812982477 670864470 781049639 757244603 211607880 261565024 614489552 433233746 766655648 804620403 624519789 526310662 178130542 109823941 450607882 192375751 309364609 637790180 657869492 877093025 479876433 546351845 426741913 834624437 339323901 698372487 890887167 840888483 278664853 551165943 842242400 670247316 213899168 276564217 693867860 947560187 974208487 266135505 481536222 260721062 314803263 820185308 297122782 717884997 767661087 267031089 304361025 499248698 168338141 344281576 170955823 635758004 853051615 553054140 643337049 171856954 314934615 985167482 431951472 104949212 328796677 680496768 270053944 112494023 277771371 297701788 647958186 374324369 168986279 426034865 362537825 949797524 367741479 670050396 579779784 833070107 248868319 688129710 871186916 166541136 213606939 337075647 413307985 771503683 739789508 618676853 855144788 201726347 814519352 393249817 514771175 186697937 770019004 276399065 331720324 277645452 913641131 246641815 995306954 289819481 188799508 381380565 887362268 197507642 124448595 815056567 220342961 899593861 235855674 874405065 421990136 166029127 882860032 263459240 339468961 608087880 174140177 912778173 327095854 989226638 413777390 759802801 803262022 894637312 554918697 619860046 671041909 563597370 899189995 614265164 661354123 542235033 632540923 275852382 527072401 634286398 247087360 399970988 854512831 919165424 268905658 747938392 933441528 402855085 198152828 269805226 895883852 958767160 789956743 889825960 754270747 567006071 415238625 788295183 800485200 357193557 702120228 140225187 486148869 169746985 913639858 778052872 104643321 645968958 125116508 147899111 278637435 464086988 557242507 123482682 556770482 106173322 971932930 808527979 151223906 560555945 974033989 850129816 504650575 571070423 278565542 825057394 562619784 733793478 884974479 445304466 967566735 568210915 848718771 283050627 393612778 919275423 298193067 770509684 244050350 396694011 361582218 766333612 384820412 545094210 860228734 884711478 866747546 929811372 334472197 115576777 384551635 753277274 108393496 396326790 276937584 376408202 597741505 787720821 381218689 760764246 921558824 772662784 846599446 565871216 671189530 797933990 320772783 614954807 161392052 450395011 295924716 131144706 438390682 567183287 807621650 377147448 271973381 562919608 432371194 675185769 646999609 960937332 622121105 883720865 747573345 812598922 449439338 464038940 568160087 725782585 477491372 300004653 467166459 490039152 531468824 375810651 982012155 194023166 832994230 701764462 204357894 184764698 405624605 253074858 130101872 905585817 131067236 336333939 573969560 924862060 690490836 812982242 523631223 276034990 995985165 131314044 345395339 903298856 173356704 654639263 748623579 178327480 580241485 118795910 700594509 383124364 883067247 995897779 928071545 313852091 129824981 937446724 772968858 414343546 947051777 588361209 279066096 701601994 815724197 190329828 904857804 290126284 770964002 661398875 679706909 799608077 276646536 857075663 770534300 918005667 400453288 226975029 576704356 571434072 702432107 620898428 862256467 556989221 210534679 596710937 413271527 250866036 654500892 389249034 169203399 773550554 923164558 747015655 287359712 627689807 515007722 602348287 467330303 426138933 429511492 869708823 194024258 772110647 163997145 799572621 764819634 343572728 392615564 407018628 904058914 899652653 561562276 795906545 218586735 345126491 830664201 485736525 755848280 839558074 964866524 236577365 697460263 976074338 801567417 872906766 418434898 245654425 925866188 588366259 384034711 801062463 395994573 898422606 550367797 812315524 730460433 295987061 807869695 255062709 378439179 780624961 267294804 584273926 679938154 860691072 145947275 745432826 960410678 435010811 257104103 231906978 481662391 255394703 378279168 844514903 754182573 442902334 566170014 740242382 407743408 588875474 208784844 926097110 686789881 367971274 582267088 836154370 877527445 643292821 319684156 955467494 920903405 291987925 170203071 273735240 379437119 740197453 824025837 579649866 645274314 892990276 900983364 465005170 548554537 890229326 964015765 970069277 865298335 932137911 154618012 411146583 365460750 733896416 293256142 482388221 555344822 769890676 200253544 472479316 706340884 528939148 717867976 497173165 289504453 928775175 438701329 169791651 279123912 568554578 285716205 935481932 417306602 976515567 600297753 851868506 606411041 175803099 838567263 171166982 825120605 411257991 696165662 899566932 555835790 105013325 114120222 944776784 431716865 391444139 914486842 582629276 226935973 747459013 892682548 474384696 806973371 205835871 810853428 535609903 684156294 854325929 271357834 852026396 583160137 621463609 233908869 121522999 775840116 655159865 528463568 464046813 649466034 450366834 290178887 896139185 939819784 373223769 951806605 304023452 934724004 935769099 734093676 445645918 417656016 840868840 360062680 401951582 688835418 118614669 687506057 843694335 989259616 192132702 887855782 664269058 174406834 202629627 525527417 147044425 402373433 307052670 986669061 704015979 263220668 908958750 907051769 193108013 736511043 218433781 567138630 983148680 181637196 342946966 809198775 699872172 457179126 769156712 354044061 707066294 403324731 735722326 444816922 806866212 378424142 695331016 837030561 597377381 337865945 398274817 731671767 234869051 819599617 414570795 546689916 761686345 537885750 885989013 877989029 673228097 572537895 386612545 632899445 919045681 113150767 838489274 607755136 142540095 884759511 852583465 382534763 700679517 262517975 509710330 505847920 660592877 334614882 636728222 167327688 917431129 325457698 925932220 289445176 950832403 506790666 227307057 128884407 896906999 264522056 705120852 924421462 329363242 785672910 892986850 907336573 671033335 150370073 887358316 173122057 532587613 583030174 547607867 255420554 214941881 338434522 978980704 161956167 168077294 966256469 440926381 175801436 831474543 715176465 297714707 755647165 769667211 906669015 260253144 591438870 285776465 203361965 875687502 445410740 569311328 186658957 325415361 828498088 384993335 723988884 233114110 388829110 817033942 528905028 914046482 839510679 543597218 237071129 469221439 357207108 641368979 943209607 837005354 218038180 348761292 188124470 592076043 309982585 488975908 746979270 278475440 761115319 906918891 921075945 254255545 880015620 584250614 988336383 481986325 482355073 509710326 917758321 876372347 333499141 721730059 969070688 310303954 329282522 462047971 334705014 189934193 693841698 894026109 512464297 280435783 965849347 603692004 454545093 953310185 395375560 586039484 692004330 572326711 832276308 772802728 701226010 316101278 711795710 428329084 620273326 802731349 198662323 391654190 284090631 557765830 659507813 723854235 663478187 778385520 489106952 387053567 773261924 249388464 424099899 913478751 803094310 836307840 424228322 944500946 220763732 562209274 125385535 524102238 433868810 182832494 669337647 588475692 420690819 885752076 498603751 628996442 181853882 738998749 367129699 225346588 442161694 675937864 277376626 537701853 826332055 157778227 449882758 847571806 205482066 669001924 988261801 810936470 184589761 763637566 901863338 331855735 629592997 786715758 858270281 240579450 768115644 727301935 393826496 197255341 105862405 496396486 569678991 907680846 487930398 560353199 439894927 134247684 911367436 184399257 337186980 318480255 247549828 758774011 998934052 411982780 607763993 347518613 345530226 126325482 932652985 198246207 235782109 105035508 607070678 181574068 432320001 866860872 358643399 675866980 439062523 546774936 242022033 934043824 438063145 742825677 774239568 344905624 146913857 730085029 274923606 201833984 928043882 426066374 334100536 526373224 147274185 704574051 569898676 819580594 614826374 610393367 428241664 414181216 392509864 853366236 746302585 796442881 640269736 206103573 455123945 326317238 404741549 426986277 947711546 839950450 491835338 444446174 569044004 562529213 328656946 852930234 382300219 445387703 877342654 710195267 409332525 946181650 345392924 338623001 769929911 402053497 106121310 765601418 675692651 727552141 431495754 621180657 675157081 154967068 452666700 842144293 101377415 616317032 357736817 120658555 967863403 210588055 542205915 664838262 350876265 721796289 684073451 613151540 542291346 939770856 293248830 360976352 845072243 166428349 474957677 270488653 828210540 677035480 854198054 777929698 764912113 675327942 362833237 180079322 739659022 355102737 286424242 546385474 418287145 597414526 610266788 298741834 398194340 346988337 960871489 535151704 809666123 963287176 473441063 164064425 174673578 668023003 439150719 676328795 734585975 950781067 118103732 843862506 796634748 975789430 252261262 322889830 919767662 515342739 751020219 656676390 788783270 232364819 763490210 539035550 850534944 244980590 912210379 990270497 670548181 939541093 295157983 601289911 333200938 371647506 112827035 252747033 873805804 948041986 803680525 476443058 271552391 839899511 510730553 993982160 189808937 425697226 142782619 103465828 834289243 820640141 558684371 809167142 395455283 576353297 339067179 200578793 463511092 579513156 196323992 630054669 204409265 542951333 528261032 617090076 210892282 780065570 747467799 100101169 663042179 242637695 953035229 788969438 699762097 598015495 622306316 934798846 327365626 498514094 446005757 572050742 222640640 223193977 562786377 620194220 743999645 579351569 299062589 971896871 951966651 678854271 696546029 600665607 243442700 193234484 765295833 459266420 646602416 336685847 561777108 613262796 980740942 152361921 798342685 929076377 202981325 377240740 109513615 165945568 586889172 117787433 411256200 333884752 750637068 908656899 744088523 531529454 241900965 843890317 103057698 676530338 363389045 299145058 887355473 240170226 246543219 352405188 652073319 855846720 862383478 699370335 292637926 905619927 210339557 283721064 856845358 955922649 412388963 695168987 906146847 118440412 414409402 393592430 879572188 362057754 349661983 989972588 807941757 661000575 196361271 177465977 721991953 230039886 690353690 872670875 714519512 895805920 684041714 570838932 587892953 694226116 660904819 261778354 952929309 787091430 559329974 310185706 840599813 242999654 588653025 547931494 938774432 422872904 132759197 135332999 472621264 596264146 749387241 271102373 344006918 599566400 951673338 526892173 672269087 123208732 606620017 739707413 416976314 591381361 685737901 868015549 682723832 684006872 320329324 600455816 332474672 213614945 157934965 293108098 756442226 537358125 417400898 850668833 593750859 779167803 207876802 425636001 217724449 863564350 952908135 975647849 658210284 705735027 230477061 251263329 867436549 884108627 532418203 525032469 578539203 158442801 881298164 282437739 276133253 404587622 343543991 664860341 184338871 309245959 540837890 571071257 592310190 110922646 164929710 982783490 749556416 122393776 173464099 185856951 922777778 418703322 247753320 174145959 673175360 315082117 938182024 803601332 886694841 584509567 162004296 629815148 788938040 622325811 200992997 999292967 393741594 656834647 237866059 110554952 921093163 908612159 490427188 829232168 681629856 563532844 962785444 164366853 994208381 485216295 290676817 179067425 287004063 768325391 910489886 545265557 672998360 984269947 901945669 725950832 430506584 988803908 155689885 210128481 716003633 608085973 961838114 770579996 111894140 181577933 838006977 778718896 187593537 694936359 921979455 582058789 951554782 107208672 753058476 200725583 609551857 633859452 671258277 644538789 248333206 265549495 282432244 537605217 614094814 195882382 285887518 993796094 631745211 222809425 337927204 394351575 828026849 347130351 714075159 489589691 211361452 125554850 495018228 312663809 730879590 118053546 952893209 448908524 737053411 914558041 660519593 916169244 885494995 205323251 938754128 158467083 281710869 478752172 390969353 971223522 659183397 186619567 915794954 803745906 858976097 681229198 436634033 224928742 769773160 759087706 666848258 853294075 269929256 935568393 855440820 842027846 142307706 756494285 619270774 861202529 223289487 194079752 663151139 829558651 489650586 490640667 783044906 777795940 752337209 146607352 789972589 745457491 360968145 263301389 713642533 205606816 219441186 544503571 515781530 477673012 715863740 812319858 719936004 708210263 230093867 801922338 742186538 851996627 973193202 598271948 130403321 661588343 138376146 263008439 135566671 743525362 730795305 861303271 859167414 214460201 464751530 261241246 181849195 993257120 678269641 443505261 434740876 955188487 273984944 938597973 574008567 476360863 514216078 836813886 340580815 122029220 283864854 215349678 918140418 841131255 188211484 567288268 773009142 853753545 178756840 549781894 273798840 829636546 362537713 179960029 512000424 378859435 293562506 288769411 438645049 807654756 974079119 713832110 524764509 136239450 793918869 509215520 437297294 982665208 673550962 515715461 292942731 772917341 308640194 212825460 434844901 125091994 871324175 204569463 683471841 871042736 602685662 977677656 450785312 909926739 504237631 647799497 790211620 105254364 865106766 240385361 373322132 285862663 372400213 983264602 267692386 598980066 759646760 814535615 877368913 951738031 337855075 900499244 576945293 794357637 625365496 754975452 514753239 248723016 119890833 607015398 298997007 538614801 281220707 451455985 650773178 651025068 209373126 740861044 562779242 680114828 860637882 500308040 681718364 681077492 325657925 918647272 665344261 194005048 482327712 331246812 483779510 694701635 772685421 735076151 278963243 269932923 142473719 161474165 775853170 543655976 105605477 648547976 922916337 994387832 964540008 222345514 925253764 382019034 715076748 946902738 175201548 995811098 105395354 557334986 304585375 142271370 655239682 546093643 411310478 637559363 361691318 648765315 155572896 312897889 664069226 474893388 177817124 915773656 786503171 162841090 643390342 949733940 282226530 720861153 661472413 990731823 751962658 818123865 975039103 532396212 266410692 710674926 697794103 218120448 544629210 372325240 405603038 831072188 588735480 343350677 546051028 267195603 112805435 795847576 251721080 961859371 235830344 332275632 776810046 921361722 333316780 902511111 423339184 401608655 350343490 123547350 751516182 952643406 250477521 675906195 105747856 415504797 628673224 369585560 420304172 881804162 584620080 287244000 774028304 886413453 497724433 755677278 805212911 717841539 618886115 673590554 264924464 262772753 320571105 204487405 778323473 358865330 912730831 103379463 790065844 751367043 598057653 404398579 533346421 849968532 432797584 911761260 214986552 412892755 428673329 419132045 481180250 687861448 228370075 431804123 438487073 694119348 612129565 597448436 565489493 739152049 393266891 976939555 572778553 428843310 864555607 748167442 218608508 835488124 921083299 955877102 480755623 770675477 566951335 840293158 302467692 392385552 611336188 568670135 204021026 551632591 751966444 376906078 924956641 648053141 558885389 864707889 467622193 498051529 669272330 661798466 488631397 704849404 743476690 728137378 877547743 334495775 339878457 403461426 940004001 311666927 423207555 796581917 238884603 230667434 219456663 334857485 481604085 941584800 831939236 897310769 729279805 647949934 857763004 358817157 431971871 466231763 115577727 944610648 588890596 846431992 375522633 483919702 185158501 866129890 272367722 833910010 363467807 837432373 179893720 240538297 869542300 972548119 935530691 752102788 885761728 320487955 919196698 903559744 614719687 290327814 821173353 130005970 967905447 338428205 328492111 936163346 645108134 560733532 622115061 717482682 655561728 628979137 506506166 353782221 235485481 457173929 704209914 953319005 478405377 748659407 583973262 316773244 884233301 780211779 225669533 619170707 185333820 246109565 331304986 148962638 540234887 289752486 856696419 175503020 292143278 694544020 422693561 187417471 785514642 662807409 521735657 468168263 231765629 187552787 957486453 849164231 111371283 970584913 760583193 832538155 820630442 273573055 511947793 582077126 619839019 301333585 878152655 820212264 851405521 859668385 453165828 423308590 679188415 903241309 175486619 468484351 695357295 373653286 771876739 292527711 178244001 316498580 395759649 893475105 966048597 161077481 734709324 139508928 321105145
